From 3f1fc5f2cbc57ed719f9a1b24c8e450c5a95e8db Mon Sep 17 00:00:00 2001 From: David Hunt Date: Fri, 26 Apr 2019 09:42:09 +0100 Subject: [PATCH] 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 --- examples/vm_power_manager/power_manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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]; -- 2.20.1