From 39a665464fe2fafd6b567ffd5b60aea00efd0076 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 11 Apr 2019 10:24:49 +0200 Subject: [PATCH] libcli:smb: Check return code of smb_signing_md5() Signed-off-by: Andreas Schneider Reviewed-by: Andrew Bartlett --- libcli/smb/smb_signing.c | 13 +++++++++++-- 1 file 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); -- 2.34.1