aboutsummaryrefslogtreecommitdiffstats
path: root/wlantest
diff options
context:
space:
mode:
Diffstat (limited to 'wlantest')
-rw-r--r--wlantest/rx_eapol.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/wlantest/rx_eapol.c b/wlantest/rx_eapol.c
index 3366ad4..27011cb 100644
--- a/wlantest/rx_eapol.c
+++ b/wlantest/rx_eapol.c
@@ -653,10 +653,17 @@ static void rx_data_eapol_key_3_of_4(struct wlantest *wt, const u8 *dst,
if (p[0] == 0xdd && p[1] == 0x00) {
/* Remove padding */
plain_len = p - decrypted;
+ p = NULL;
break;
}
p += 2 + p[1];
}
+ if (p && p > decrypted && *p == 0xdd &&
+ p + 1 == decrypted + decrypted_len) {
+ /* Remove padding */
+ p--;
+ plain_len = p - decrypted;
+ }
os_memset(buf, 0, sizeof(buf));
h = (struct ieee80211_hdr *) buf;