diff options
author | Michael Bestas <mkbestas@lineageos.org> | 2020-04-14 17:32:24 +0300 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2020-04-14 18:41:13 +0300 |
commit | 43e735b9e19f948ce5463348d908c606901c95a7 (patch) | |
tree | 873da85cd268f306fccf8c2e668569b9660ab982 /drivers | |
parent | 9eb199e06bc76fb2677052c3a171b2ab917c121d (diff) |
Revert "Revert "qcacld-3.0: Fix OOB in wma_stats_event_handler""
* No longer required
This reverts commit 1ceac8f3cc7f5a770a98bef65c4ab4c797cddbd2.
Change-Id: Id752e4a61da70294444db7df032500502d3c05db
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/qcacld-3.0/core/wma/src/wma_utils.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/staging/qcacld-3.0/core/wma/src/wma_utils.c b/drivers/staging/qcacld-3.0/core/wma/src/wma_utils.c index 36811c666ba3..af9459c262e0 100644 --- a/drivers/staging/qcacld-3.0/core/wma/src/wma_utils.c +++ b/drivers/staging/qcacld-3.0/core/wma/src/wma_utils.c @@ -3296,6 +3296,14 @@ int wma_stats_event_handler(void *handle, uint8_t *cmd_param_info, buf_len += event->num_peer_stats * sizeof(*peer_stats); } + if (buf_len > param_buf->num_data) { + WMA_LOGE("%s: num_data: %d Invalid num_pdev_stats:%d or num_vdev_stats:%d or num_peer_stats:%d", + __func__, param_buf->num_data, + event->num_pdev_stats, + event->num_vdev_stats, event->num_peer_stats); + return -EINVAL; + } + rssi_event = (wmi_per_chain_rssi_stats *) param_buf->chain_stats; if (rssi_event) { @@ -3316,7 +3324,6 @@ int wma_stats_event_handler(void *handle, uint8_t *cmd_param_info, WMA_LOGE("excess wmi buffer: stats pdev %d vdev %d peer %d", event->num_pdev_stats, event->num_vdev_stats, event->num_peer_stats); - QDF_ASSERT(0); return -EINVAL; } |