Found with clang static analysis:
lib/librte_eal/linuxapp/eal/eal_memory.c:1004:11:
warning: Call to 'malloc' has an allocation size of 0 bytes
tmp_hp = malloc(nr_hugepages * sizeof(struct hugepage_file));
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The --no-huge case, where nr_hugepages would be 0
as well, is handled earlier.

Fixes: 5e823a451261 ("ethdev: remove some VF functions")

Signed-off-by: Emmanuel Roullit <emmanuel.roul...@gmail.com>
---
 lib/librte_eal/linuxapp/eal/eal_memory.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c 
b/lib/librte_eal/linuxapp/eal/eal_memory.c
index a956bb226..0b0355898 100644
--- a/lib/librte_eal/linuxapp/eal/eal_memory.c
+++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
@@ -995,6 +995,9 @@ rte_eal_hugepage_init(void)
                nr_hugepages += internal_config.hugepage_info[i].num_pages[0];
        }
 
+       if (nr_hugepages == 0)
+               goto fail;
+
        /*
         * allocate a memory area for hugepage table.
         * this isn't shared memory yet. due to the fact that we need some
-- 
2.11.0

Reply via email to