From 8a0c1483681dffce9df00704b823cdb13efc7664 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Thu, 5 Sep 2019 21:13:10 -0500 Subject: [PATCH] ie: Handle WPA1 elements with Capability fields --- src/ie.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ie.c b/src/ie.c index 2e68cb9e..589079c0 100644 --- a/src/ie.c +++ b/src/ie.c @@ -1394,7 +1394,19 @@ int ie_parse_wpa(struct ie_tlv_iter *iter, struct ie_rsn_info *out_info) RSNE_ADVANCE(data, len, count * 4); - return -EBADMSG; + if (len < 2) + return -EBADMSG; + + out_info->preauthentication = util_is_bit_set(data[0], 0); + out_info->no_pairwise = util_is_bit_set(data[0], 1); + out_info->ptksa_replay_counter = util_bit_field(data[0], 2, 2); + out_info->gtksa_replay_counter = util_bit_field(data[0], 4, 2); + + RSNE_ADVANCE(data, len, 2); + + l_warn("Received WPA element with extra trailing bytes -" + " which will be ignored"); + return 0; done: /*