From 0ff9695e37f4d458ef308a6ad598a0fe4444d722 Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Fri, 29 May 2015 15:34:13 +0100 Subject: [PATCH] mem: fix build with gcc 5.1 On Fedora 22, with GCC 5.1, errors are reported due to array accesses being potentially out of bounds. This commit fixes this by ensuring the bounds check in the loop takes account of the array size. Signed-off-by: Bruce Richardson Acked-by: Neil Horman --- lib/librte_eal/linuxapp/eal/eal_memory.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c index 5f9f92e163..9b8d946730 100644 --- a/lib/librte_eal/linuxapp/eal/eal_memory.c +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c @@ -1188,7 +1188,9 @@ rte_eal_hugepage_init(void) int socket = tmp_hp[i].socket_id; /* find a hugepage info with right size and increment num_pages */ - for (j = 0; j < (int) internal_config.num_hugepage_sizes; j++) { + const int nb_hpsizes = RTE_MIN(MAX_HUGEPAGE_SIZES, + (int)internal_config.num_hugepage_sizes); + for (j = 0; j < nb_hpsizes; j++) { if (tmp_hp[i].size == internal_config.hugepage_info[j].hugepage_sz) { #ifdef RTE_EAL_SINGLE_FILE_SEGMENTS -- 2.20.1