diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index 0c2446aad90d..be4baae947de 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -3301,6 +3301,13 @@ static int wma_pdev_hw_mode_transition_evt_handler(void *handle, return QDF_STATUS_E_FAILURE; } + if (param_buf->fixed_param->num_vdev_mac_entries > MAX_VDEV_SUPPORTED) { + WMA_LOGE("num_vdev_mac_entries: %d crossed max value: %d", + param_buf->fixed_param->num_vdev_mac_entries, + MAX_VDEV_SUPPORTED); + return QDF_STATUS_E_FAILURE; + } + hw_mode_trans_ind = qdf_mem_malloc(sizeof(*hw_mode_trans_ind)); if (!hw_mode_trans_ind) { WMA_LOGE("%s: Memory allocation failed", __func__);