Browse Source

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 years ago
parent
commit
798985c688
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/net/wireless/ath/ath6kl/cfg80211.c

+ 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);