mirror of https://github.com/moparisthebest/curl
smb: Use endian functions for reading NBT and message size values
This commit is contained in:
parent
4bb5a351b2
commit
a3daf542ad
|
@ -306,8 +306,8 @@ static CURLcode smb_recv_message(struct connectdata *conn, void **msg)
|
||||||
if(smbc->got < sizeof(unsigned int))
|
if(smbc->got < sizeof(unsigned int))
|
||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
|
|
||||||
nbt_size = ntohs(*(unsigned short *)(buf + sizeof(unsigned short))) +
|
nbt_size = Curl_read16_be((unsigned char *)(buf + sizeof(unsigned short))) +
|
||||||
sizeof(unsigned int);
|
sizeof(unsigned int);
|
||||||
if(smbc->got < nbt_size)
|
if(smbc->got < nbt_size)
|
||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
|
|
||||||
|
@ -317,8 +317,8 @@ static CURLcode smb_recv_message(struct connectdata *conn, void **msg)
|
||||||
msg_size += 1 + ((unsigned char) buf[msg_size]) * sizeof(unsigned short);
|
msg_size += 1 + ((unsigned char) buf[msg_size]) * sizeof(unsigned short);
|
||||||
if(nbt_size >= msg_size + sizeof(unsigned short)) {
|
if(nbt_size >= msg_size + sizeof(unsigned short)) {
|
||||||
/* Add the byte count */
|
/* Add the byte count */
|
||||||
msg_size += sizeof(unsigned short) + ((unsigned char) buf[msg_size]) +
|
msg_size += sizeof(unsigned short) +
|
||||||
(((size_t) ((unsigned char) buf[msg_size + 1])) << 8);
|
Curl_read16_le((unsigned char *)&buf[msg_size]);
|
||||||
if(nbt_size < msg_size)
|
if(nbt_size < msg_size)
|
||||||
return CURLE_READ_ERROR;
|
return CURLE_READ_ERROR;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue