From: David Hunt Date: Fri, 26 Apr 2019 08:42:09 +0000 (+0100) Subject: examples/power: fix buffer overrun X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=3f1fc5f2cbc57ed719f9a1b24c8e450c5a95e8db;p=dpdk.git examples/power: fix buffer overrun The freqs array in freq_info struct has RTE_MAX_LCORE_FREQS elements, yet the code can attempt to look at the index at RTE_MAX_LCORE, which may be greater than RTE_MAX_LCORE_FREQS. Fix to limit index to RTE_MAX_LCORE_FREQS. Coverity issue: 337660 Fixes: d26c18c93260 ("examples/vm_power: cpu frequency in host") Cc: stable@dpdk.org Signed-off-by: David Hunt Acked-by: Reshma Pattan --- diff --git a/examples/vm_power_manager/power_manager.c b/examples/vm_power_manager/power_manager.c index 9553455be2..9d4e587b0f 100644 --- a/examples/vm_power_manager/power_manager.c +++ b/examples/vm_power_manager/power_manager.c @@ -143,7 +143,7 @@ power_manager_get_current_frequency(unsigned core_num) rte_spinlock_lock(&global_core_freq_info[core_num].power_sl); index = rte_power_get_freq(core_num); rte_spinlock_unlock(&global_core_freq_info[core_num].power_sl); - if (index >= RTE_MAX_LCORE) + if (index >= RTE_MAX_LCORE_FREQS) freq = 0; else freq = global_core_freq_info[core_num].freqs[index];