diff options
author | Gary Lockyer <gary@catalyst.net.nz> | 2019-06-06 08:40:42 +1200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2019-10-16 18:00:31 +0000 |
commit | aed4d0637675629a33585a0198c8cbbb64371638 (patch) | |
tree | 0755e48a91fe129d54fe0339f02b1f159f13a6ad /libcli/smb | |
parent | 50cce842a230f82018be62fca8fe1374b9b0dcd1 (diff) | |
download | samba-aed4d0637675629a33585a0198c8cbbb64371638.tar.gz |
libcli smb smb1cli_trans: fix ubsan warning
Fix ubsan warning null pointer passed as argument 2 when the source
pointer is NULL. The calls to memcpy are now guarded by an
if (len > 0)
Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Wed Oct 16 18:00:31 UTC 2019 on sn-devel-184
Diffstat (limited to 'libcli/smb')
-rw-r--r-- | libcli/smb/smb1cli_trans.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libcli/smb/smb1cli_trans.c b/libcli/smb/smb1cli_trans.c index c305463846d..99021ce2b47 100644 --- a/libcli/smb/smb1cli_trans.c +++ b/libcli/smb/smb1cli_trans.c @@ -351,8 +351,10 @@ static void smb1cli_trans_format(struct smb1cli_trans_state *state, SSVAL(vwv +12, 0, data_offset); SCVAL(vwv +13, 0, state->num_setup); SCVAL(vwv +13, 1, 0); /* reserved */ - memcpy(vwv + 14, state->setup, - sizeof(uint16_t) * state->num_setup); + if (state->num_setup > 0) { + memcpy(vwv + 14, state->setup, + sizeof(uint16_t) * state->num_setup); + } break; case SMBtranss: case SMBtranss2: |