3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-12-21 03:32:42 +01:00

ie: Consistently set group_management_cipher

RSNE_ADVANCE may return and if it is before the assignment of
info.group_management_cipher, that assignment will be dependent on where
the RSNE ends.
This commit is contained in:
Andrew Zaborowski 2016-09-06 23:43:32 +02:00 committed by Denis Kenzior
parent 316752c5e4
commit 955c88a64a

View File

@ -618,8 +618,6 @@ int ie_parse_rsne(struct ie_tlv_iter *iter, struct ie_rsn_info *out_info)
info.pbac = util_is_bit_set(data[1], 4); info.pbac = util_is_bit_set(data[1], 4);
info.extended_key_id = util_is_bit_set(data[1], 5); info.extended_key_id = util_is_bit_set(data[1], 5);
RSNE_ADVANCE(data, len, 2);
/* /*
* BIPdefault group management cipher suite in an RSNA with * BIPdefault group management cipher suite in an RSNA with
* management frame protection enabled * management frame protection enabled
@ -627,6 +625,8 @@ int ie_parse_rsne(struct ie_tlv_iter *iter, struct ie_rsn_info *out_info)
if (info.mfpc) if (info.mfpc)
info.group_management_cipher = IE_RSN_CIPHER_SUITE_BIP; info.group_management_cipher = IE_RSN_CIPHER_SUITE_BIP;
RSNE_ADVANCE(data, len, 2);
/* Parse PMKID Count field */ /* Parse PMKID Count field */
if (len < 2) if (len < 2)
return -EBADMSG; return -EBADMSG;