|
@@ -1666,7 +1666,8 @@ static inline QDF_STATUS wlan_parse_rsn_ie(uint8_t *rsn_ie,
|
|
rsn->pmkid_count = LE_READ_2(ie);
|
|
rsn->pmkid_count = LE_READ_2(ie);
|
|
ie += 2;
|
|
ie += 2;
|
|
rem_len -= 2;
|
|
rem_len -= 2;
|
|
- if (rsn->pmkid_count > (unsigned int) rem_len / PMKID_LEN) {
|
|
|
|
|
|
+ if (rsn->pmkid_count > MAX_PMKID ||
|
|
|
|
+ rsn->pmkid_count > (unsigned int)rem_len / PMKID_LEN) {
|
|
rsn->pmkid_count = 0;
|
|
rsn->pmkid_count = 0;
|
|
return QDF_STATUS_E_INVAL;
|
|
return QDF_STATUS_E_INVAL;
|
|
}
|
|
}
|