summaryrefslogtreecommitdiff
path: root/libcli/smb
diff options
context:
space:
mode:
authorGary Lockyer <gary@catalyst.net.nz>2019-06-06 08:40:42 +1200
committerAndreas Schneider <asn@cryptomilk.org>2019-10-16 18:00:31 +0000
commitaed4d0637675629a33585a0198c8cbbb64371638 (patch)
tree0755e48a91fe129d54fe0339f02b1f159f13a6ad /libcli/smb
parent50cce842a230f82018be62fca8fe1374b9b0dcd1 (diff)
downloadsamba-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.c6
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: