qcacmn: Add user id range check to prevent out of range access

A random crash may be caused by out of range access. Add MU
user id check to prevent out of range access.

Change-Id: I531d6c03024c4a6af4e0db97ea00d0874aaef387
Этот коммит содержится в:
Kai Chen
2019-06-07 13:10:49 -07:00
коммит произвёл nshrivas
родитель 034a01be32
Коммит e0dd94dd4c
2 изменённых файлов: 12 добавлений и 10 удалений

Просмотреть файл

@@ -71,7 +71,7 @@
#define HAL_TLV_STATUS_MSDU_START 7
#define HAL_TLV_STATUS_MSDU_END 8
#define HAL_MAX_UL_MU_USERS 8
#define HAL_MAX_UL_MU_USERS 37
#define HAL_RX_PKT_TYPE_11A 0
#define HAL_RX_PKT_TYPE_11B 1

Просмотреть файл

@@ -449,8 +449,9 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo,
default:
break;
}
mon_rx_user_status = &ppdu_info->rx_user_status[user_id];
if (user_id < HAL_MAX_UL_MU_USERS) {
mon_rx_user_status =
&ppdu_info->rx_user_status[user_id];
mon_rx_user_status->mcs =
HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_1,
@@ -460,6 +461,7 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo,
NSS);
hal_rx_handle_ofdma_info(rx_tlv, mon_rx_user_status);
}
ppdu_info->com_info.mpdu_cnt_fcs_ok =
HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_3,