summaryrefslogtreecommitdiff
path: root/libcli
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2019-04-11 10:24:49 +0200
committerAndrew Bartlett <abartlet@samba.org>2019-05-21 00:03:21 +0000
commit39a665464fe2fafd6b567ffd5b60aea00efd0076 (patch)
tree24a17a7a0fc13862c59fcfdd5d3459ee7b498f98 /libcli
parent754e15518330038611f38c26ae3ce6e8a97f2006 (diff)
downloadsamba-39a665464fe2fafd6b567ffd5b60aea00efd0076.tar.gz
libcli:smb: Check return code of smb_signing_md5()
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'libcli')
-rw-r--r--libcli/smb/smb_signing.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/libcli/smb/smb_signing.c b/libcli/smb/smb_signing.c
index 93e2c82ee7f..89b57b58f40 100644
--- a/libcli/smb/smb_signing.c
+++ b/libcli/smb/smb_signing.c
@@ -316,6 +316,7 @@ bool smb_signing_check_pdu(struct smb_signing_state *si,
bool good;
uint8_t calc_md5_mac[16];
const uint8_t *reply_sent_mac;
+ NTSTATUS status;
if (si->mac_key.length == 0) {
return true;
@@ -328,8 +329,16 @@ bool smb_signing_check_pdu(struct smb_signing_state *si,
return false;
}
- smb_signing_md5(&si->mac_key, inhdr, len,
- seqnum, calc_md5_mac);
+ status = smb_signing_md5(&si->mac_key,
+ inhdr,
+ len,
+ seqnum,
+ calc_md5_mac);
+ if (!NT_STATUS_IS_OK(status)) {
+ DBG_ERR("Failed to calculate signing mac: %s\n",
+ nt_errstr(status));
+ return false;
+ }
reply_sent_mac = &inhdr[HDR_SS_FIELD];
good = (memcmp(reply_sent_mac, calc_md5_mac, 8) == 0);