diff --git a/drivers/net/wireless/qcacld-2.0/CORE/SERVICES/WMA/wma.c b/drivers/net/wireless/qcacld-2.0/CORE/SERVICES/WMA/wma.c index 4d35f6b17625..353eb0d63ef0 100644 --- a/drivers/net/wireless/qcacld-2.0/CORE/SERVICES/WMA/wma.c +++ b/drivers/net/wireless/qcacld-2.0/CORE/SERVICES/WMA/wma.c @@ -20732,6 +20732,11 @@ static int wma_wow_wakeup_host_event(void *handle, u_int8_t *event, vos_event_set(&wma->wma_resume_event); if (param_buf->wow_packet_buffer) { + if (param_buf->num_wow_packet_buffer <= 4) { + WMA_LOGE("Invalid wow packet buffer from firmware %u", + param_buf->num_wow_packet_buffer); + return -EINVAL; + } wow_buf_pkt_len = *(uint32_t *)param_buf->wow_packet_buffer; if (wow_buf_pkt_len > (param_buf->num_wow_packet_buffer - 4)) { WMA_LOGE("Invalid wow buf pkt len from firmware, wow_buf_pkt_len: %u, num_wow_packet_buffer: %u",