power: fix frequency list to handle null buffer
authorDavid Hunt <david.hunt@intel.com>
Mon, 7 Jan 2019 14:39:34 +0000 (14:39 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 15 Jan 2019 01:40:41 +0000 (02:40 +0100)
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
lib/librte_power/power_pstate_cpufreq.c

index f50897b..45412f0 100644 (file)
@@ -445,6 +445,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");
index 0f8e8f9..9111e6a 100644 (file)
@@ -584,6 +584,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");