diff options
author | Mikael Kanstrup <mikael.kanstrup@sony.com> | 2019-11-11 16:11:45 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2019-11-14 08:27:54 +0000 |
commit | c6dff594b9b992b0e5809d35e1a754e39c190192 (patch) | |
tree | 23881e691a4c8e661e0ee97eba96dcf114fdb38e /epan/crypt | |
parent | b07dada4c93538e4615a54b714358c9383b56049 (diff) |
dot11decrypt: Fix MIC calc for HMAC-SHA384
The temporary buffer to store calculated mic is too short to keep
the message digest when using HMAC-SHA384 algo. HMAC-SHA384 yields
a message digest of 48 bytes so increase buffer size to make room
for the largest possible value.
Ping-Bug: 16197
Change-Id: I36fd094c39ce77329fb303fa181d286be694ae65
Reviewed-on: https://code.wireshark.org/review/35067
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/crypt')
-rw-r--r-- | epan/crypt/dot11decrypt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/epan/crypt/dot11decrypt.c b/epan/crypt/dot11decrypt.c index 46aad9bb76..bfc622e337 100644 --- a/epan/crypt/dot11decrypt.c +++ b/epan/crypt/dot11decrypt.c @@ -1668,7 +1668,8 @@ Dot11DecryptRsnaMicCheck( guint8 *mic = eapol_parsed->mic; guint16 mic_len = eapol_parsed->mic_len; guint16 kck_len = Dot11DecryptGetKckLen(akm) / 8; - UCHAR c_mic[32] = { 0 }; /* MIC 16 byte, though HMAC-SHA256 algo need 32 bytes buffer */ + /* MIC 16 or 24 bytes, though HMAC-SHA256 / SHA384 algos need 32 / 48 bytes buffer */ + UCHAR c_mic[48] = { 0 }; int algo = -1; gboolean hmac = TRUE; |