diff options
author | Andreas Schneider <asn@samba.org> | 2019-04-11 10:24:49 +0200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2019-05-21 00:03:21 +0000 |
commit | 39a665464fe2fafd6b567ffd5b60aea00efd0076 (patch) | |
tree | 24a17a7a0fc13862c59fcfdd5d3459ee7b498f98 /libcli | |
parent | 754e15518330038611f38c26ae3ce6e8a97f2006 (diff) | |
download | samba-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.c | 13 |
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); |