• Breno Leitao's avatar
    bpf: test_maps: fix possible out of bound access warning · dd9cef43
    Breno Leitao authored
    When compiling test_maps selftest with GCC-8, it warns that an array
    might be indexed with a negative value, which could cause a negative
    out of bound access, depending on parameters of the function. This
    is the GCC-8 warning:
    
    	gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../lib/bpf -I../../../../include/generated -DHAVE_GENHDR -I../../../include    test_maps.c /home/breno/Devel/linux/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /home/breno/Devel/linux/tools/testing/selftests/bpf/test_maps
    	In file included from test_maps.c:16:
    	test_maps.c: In function ‘run_all_tests’:
    	test_maps.c:1079:10: warning: array subscript -1 is below array bounds of ‘pid_t[<Ube20> + 1]’ [-Warray-bounds]
    	   assert(waitpid(pid[i], &status, 0) == pid[i]);
    		  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    	test_maps.c:1059:6: warning: array subscript -1 is below array bounds of ‘pid_t[<Ube20> + 1]’ [-Warray-bounds]
    	   pid[i] = fork();
    	   ~~~^~~
    
    This patch simply guarantees that the task(s) variables are unsigned,
    thus, they could never be a negative number (which they are not in
    current code anyway), hence avoiding an out of bound access warning.
    Signed-off-by: default avatarBreno Leitao <leitao@debian.org>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    dd9cef43
test_maps.c 44.9 KB