lib/power: fix freq list function to handle null
Checks
Commit Message
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@intel.com>
---
lib/librte_power/power_acpi_cpufreq.c | 5 +++++
lib/librte_power/power_pstate_cpufreq.c | 5 +++++
2 files changed, 10 insertions(+)
Comments
07/01/2019 15:39, David Hunt:
> 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@intel.com>
Applied, thanks
@@ -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");
@@ -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");