diff --git a/wmi_unified_tlv.c b/wmi_unified_tlv.c index f708534f3f..5d7ab3fc47 100644 --- a/wmi_unified_tlv.c +++ b/wmi_unified_tlv.c @@ -12447,6 +12447,13 @@ static QDF_STATUS send_log_supported_evt_cmd_tlv(wmi_unified_t wmi_handle, if (wmi_handle->events_logs_list) qdf_mem_free(wmi_handle->events_logs_list); + if (num_of_diag_events_logs > + (WMI_SVC_MSG_MAX_SIZE / sizeof(uint32_t))) { + WMI_LOGE("%s: excess num of logs:%d", __func__, + num_of_diag_events_logs); + QDF_ASSERT(0); + return QDF_STATUS_E_INVAL; + } /* Store the event list for run time enable/disable */ wmi_handle->events_logs_list = qdf_mem_malloc(num_of_diag_events_logs * sizeof(uint32_t));