Prechádzať zdrojové kódy

ath6kl: Fix possible unaligned memory access in ath6kl_get_rsn_capab()

alignment is not taken care in accessing pairwise cipher and AKM suite
count which are parsed from rsn ie. Fix this alignment issue.

Reported-by: Joe Perches <joe@perches.com>
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Vasanthakumar Thiagarajan 13 rokov pred
rodič
commit
798985c688

+ 2 - 2
drivers/net/wireless/ath/ath6kl/cfg80211.c

@@ -2591,14 +2591,14 @@ static int ath6kl_get_rsn_capab(struct cfg80211_beacon_data *beacon,
 	/* skip pairwise cipher suite */
 	if (rsn_ie_len < 2)
 		return -EINVAL;
-	cnt = *((u16 *) rsn_ie);
+	cnt = get_unaligned_le16(rsn_ie);
 	rsn_ie += (2 + cnt * 4);
 	rsn_ie_len -= (2 + cnt * 4);
 
 	/* skip akm suite */
 	if (rsn_ie_len < 2)
 		return -EINVAL;
-	cnt = *((u16 *) rsn_ie);
+	cnt = get_unaligned_le16(rsn_ie);
 	rsn_ie += (2 + cnt * 4);
 	rsn_ie_len -= (2 + cnt * 4);