diff options
-rw-r--r-- | libcli/smb/smb2_signing.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/libcli/smb/smb2_signing.c b/libcli/smb/smb2_signing.c index fdb69e90a07..fdb223aec64 100644 --- a/libcli/smb/smb2_signing.c +++ b/libcli/smb/smb2_signing.c @@ -978,9 +978,11 @@ NTSTATUS smb2_signing_encrypt_pdu(struct smb2_signing_key *encryption_key, } for (i = 1; i < count; i++) { - memcpy(ptext + len, - vector[i].iov_base, - vector[i].iov_len); + if (vector[i].iov_base != NULL) { + memcpy(ptext + len, + vector[i].iov_base, + vector[i].iov_len); + } len += vector[i].iov_len; if (len > ptext_size) { @@ -1010,9 +1012,11 @@ NTSTATUS smb2_signing_encrypt_pdu(struct smb2_signing_key *encryption_key, len = 0; for (i = 1; i < count; i++) { - memcpy(vector[i].iov_base, - ctext + len, - vector[i].iov_len); + if (vector[i].iov_base != NULL) { + memcpy(vector[i].iov_base, + ctext + len, + vector[i].iov_len); + } len += vector[i].iov_len; } |