diff options
| author | Steve Holme <steve_holme@hotmail.com> | 2015-01-01 20:48:05 +0000 | 
|---|---|---|
| committer | Steve Holme <steve_holme@hotmail.com> | 2015-01-01 20:48:05 +0000 | 
| commit | a3daf542adb63dbf7632fab0166ec26cb231b1c1 (patch) | |
| tree | f180243bb31c32fc6d6fbbf3b0df16fb4999efb0 /lib | |
| parent | 4bb5a351b2335704c07e3b860a85612058e21e0e (diff) | |
smb: Use endian functions for reading NBT and message size values
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/smb.c | 8 | 
1 files changed, 4 insertions, 4 deletions
| @@ -306,8 +306,8 @@ static CURLcode smb_recv_message(struct connectdata *conn, void **msg)    if(smbc->got < sizeof(unsigned int))      return CURLE_OK; -  nbt_size = ntohs(*(unsigned short *)(buf + sizeof(unsigned short))) + -                   sizeof(unsigned int); +  nbt_size = Curl_read16_be((unsigned char *)(buf + sizeof(unsigned short))) + +             sizeof(unsigned int);    if(smbc->got < nbt_size)      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);      if(nbt_size >= msg_size + sizeof(unsigned short)) {        /* Add the byte count */ -      msg_size += sizeof(unsigned short) + ((unsigned char) buf[msg_size]) + -                         (((size_t) ((unsigned char) buf[msg_size + 1])) << 8); +      msg_size += sizeof(unsigned short) + +                  Curl_read16_le((unsigned char *)&buf[msg_size]);        if(nbt_size < msg_size)          return CURLE_READ_ERROR;      } | 
