d307f7957c
Using IBM advance toolchain on Ubuntu 14.04 (package 8.0-3), gcc is complaining about out of bound accesses. CC eal_hugepage_info.o lib/librte_eal/linuxapp/eal/eal_hugepage_info.c: In function ‘eal_hugepage_info_init’: lib/librte_eal/linuxapp/eal/eal_hugepage_info.c:350:35: error: array subscript is above array bounds [-Werror=array-bounds] internal_config.hugepage_info[j].hugepage_sz) ^ lib/librte_eal/linuxapp/eal/eal_hugepage_info.c:350:35: error: array subscript is above array bounds [-Werror=array-bounds] lib/librte_eal/linuxapp/eal/eal_hugepage_info.c:349:37: error: array subscript is above array bounds [-Werror=array-bounds] if (internal_config.hugepage_info[j-1].hugepage_sz < ^ lib/librte_eal/linuxapp/eal/eal_hugepage_info.c:350:35: error: array subscript is above array bounds [-Werror=array-bounds] internal_config.hugepage_info[j].hugepage_sz) Looking at the code, these warnings are invalid from my pov and they disappeared when upgrading the toolchain to new version (8.0-4). However, the code was buggy (sorting code is wrong), so fix this by using qsort and adding a check on num_sizes to avoid potential out of bound accesses. Signed-off-by: David Marchand <david.marchand@6wind.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> |
||
---|---|---|
.. | ||
bsdapp | ||
common | ||
linuxapp | ||
Makefile |