On Tue, 2019-07-02 at 19:21 +0100, Richard Haines wrote: > When running 'make' from libselinux on Fedora 30 (gcc 9.1.1) the > following error is reported: > > bute=const -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wstrict-overflow=5 > -I../include -D_GNU_SOURCE -DNO_ANDROID_BACKEND -c -o booleans.o > booleans.c > booleans.c: In function ‘security_get_boolean_names’: > booleans.c:39:5: error: assuming signed overflow does not occur when > changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Werror=strict-overflow] > 39 | int security_get_boolean_names(char ***names, int *len) > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make[1]: *** [Makefile:171: booleans.o] Error 1 > > This is because of 'for (--i; i >= 0; --i)', however the --i is not > required anyway as proven when simulating oom and running valgrind. Please ignore this patch. Tried to cancel but delivered to list four days later. The [1] patch is the correct one to review. [1] https://lore.kernel.org/selinux/20190703141255.6321-1-richard_c_haines@xxxxxxxxxxxxxx/T/#u > > Signed-off-by: Richard Haines <richard_c_haines@xxxxxxxxxxxxxx> > --- > libselinux/src/booleans.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libselinux/src/booleans.c b/libselinux/src/booleans.c > index ab1e0754..33bf13c7 100644 > --- a/libselinux/src/booleans.c > +++ b/libselinux/src/booleans.c > @@ -81,7 +81,7 @@ int security_get_boolean_names(char ***names, int > *len) > free(namelist); > return rc; > bad_freen: > - for (--i; i >= 0; --i) > + for (; i >= 0; --i) > free(n[i]); > free(n); > bad: