diff options
| author | CNSS_WLAN Service <cnssbldsw@qualcomm.com> | 2019-05-23 04:17:08 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2019-05-23 04:17:08 -0700 |
| commit | 3edc6bbc733034efcbc4e8ae9803392aed73432c (patch) | |
| tree | 3c975c1c275be6654855b76ea3ee04bc31988a69 | |
| parent | 69fc967ab8658c6ffae304d574901286440d73af (diff) | |
| parent | 391566971c7163181300ad502b5c71c5779afd0c (diff) | |
Merge "qcacld-2.0: Add bound check for fixed_param->total_num_tx_power_levels" into wlan-cld2.driver.lnx.1.0
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index 0b7b88a20f3b..5477ac7e3c70 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -5321,6 +5321,15 @@ static int wma_unified_radio_tx_power_level_stats_event_handler(void *handle, rs_results = (tSirWifiRadioStat *) &link_stats_results->results[0]; tx_power_level_values = (uint8 *) param_tlvs->tx_time_per_power_level; + if (rs_results->total_num_tx_power_levels && + fixed_param->total_num_tx_power_levels > + rs_results->total_num_tx_power_levels) { + WMA_LOGE("%s: excess tx_power buffers:%d, total_num_tx_power_levels:%d", + __func__, fixed_param->total_num_tx_power_levels, + rs_results->total_num_tx_power_levels); + return -EINVAL; + } + rs_results->total_num_tx_power_levels = fixed_param->total_num_tx_power_levels; if (!rs_results->total_num_tx_power_levels) |
