[dpdk-dev] [PATCH] lib/power: fix freq list function to handle null
David Hunt
david.hunt at intel.com
Mon Jan 7 15:39:34 CET 2019
This patch fixes a segfault in the case where a null buffer is passed
to the following functions:
power_acpi_cpufreq_freqs()
power_pstate_cpufreq_freqs()
Fixes: 445c6528b55f ("power: common interface for guest and host")
Signed-off-by: David Hunt <david.hunt at intel.com>
---
lib/librte_power/power_acpi_cpufreq.c | 5 +++++
lib/librte_power/power_pstate_cpufreq.c | 5 +++++
2 files changed, 10 insertions(+)
diff --git a/lib/librte_power/power_acpi_cpufreq.c b/lib/librte_power/power_acpi_cpufreq.c
index cd5978d5b..98dcde31d 100644
--- a/lib/librte_power/power_acpi_cpufreq.c
+++ b/lib/librte_power/power_acpi_cpufreq.c
@@ -441,6 +441,11 @@ power_acpi_cpufreq_freqs(unsigned int lcore_id, uint32_t *freqs, uint32_t num)
return 0;
}
+ if (freqs == NULL) {
+ RTE_LOG(ERR, POWER, "NULL buffer supplied\n");
+ return 0;
+ }
+
pi = &lcore_power_info[lcore_id];
if (num < pi->nb_freqs) {
RTE_LOG(ERR, POWER, "Buffer size is not enough\n");
diff --git a/lib/librte_power/power_pstate_cpufreq.c b/lib/librte_power/power_pstate_cpufreq.c
index 411d0eb16..0a566eb07 100644
--- a/lib/librte_power/power_pstate_cpufreq.c
+++ b/lib/librte_power/power_pstate_cpufreq.c
@@ -580,6 +580,11 @@ power_pstate_cpufreq_freqs(unsigned int lcore_id, uint32_t *freqs, uint32_t num)
return -1;
}
+ if (freqs == NULL) {
+ RTE_LOG(ERR, POWER, "NULL buffer supplied\n");
+ return 0;
+ }
+
pi = &lcore_power_info[lcore_id];
if (num < pi->nb_freqs) {
RTE_LOG(ERR, POWER, "Buffer size is not enough\n");
--
2.17.1
More information about the dev
mailing list