On AIX with GCC 6.3.0, a "maybe-unitialized" variable generates an error.

REIX, Tony tony.reix at atos.net
Wed Aug 23 09:28:13 EDT 2017


Hi,

On AIX with GCC 6.3.0, a "maybe-unitialized" variable generates an error.


File: src/lib/krb5/os/localaddr.c

gcc -maix64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -DHAVE_CONFIG_H -DLIBDIR=\"/opt/freeware/lib64\" -DBINDIR=\"/opt/freeware/bin\" -DSBINDIR=\"/opt/freeware/sbin\" -I../../../include -I../../../include -I../../../util/profile -DKRB5_DEPRECATED=1 -DKRB5_PRIVATE  -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX53 -D_AIX61 -D_AIX71 -D_AIX72 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include -D_THREAD_SAFE  -Wall -Wcast-align -Wshadow -Wmissing-prototypes -pedantic -Wno-format-zero-length -Woverflow -Wstrict-overflow -Wmissing-format-attribute -Wmissing-prototypes -Wreturn-type -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare -Werror=uninitialized -Werror=pointer-arith -Werror=int-conversion -Werror=incompatible-pointer-types -Werror=discarded-qualifiers -Werror=declaration-after-statement -Werror-implicit-function-declaration   -c localaddr.c



localaddr.c: In function 'krb5int_foreach_localaddr':
...
localaddr.c:1033:9: error: 'n' may be used uninitialized in this function [-Werror=maybe-uninitialized]
        for (i = 0; i + sizeof(struct ifreq) <= n; i+= ifreq_size(*ifr) ) {
        ^~~

I've attached to this email a simple patch that fixes this issue.
     if (pass2fn) {
+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
         for (i = 0; i + sizeof(struct ifreq) <= n; i+= ifreq_size(*ifr) ) {

Maybe that a better solution could be found.

Regards

Cordialement,

Tony Reix

Bull - ATOS
IBM Coop Architect & Technical Leader
Office : +33 (0) 4 76 29 72 67
1 rue de Provence - 38432 Échirolles - France
www.atos.net<http://www.atos.net/>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: krb5-1.15.1-maybe-uninitialized.patch
Type: text/x-patch
Size: 381 bytes
Desc: krb5-1.15.1-maybe-uninitialized.patch
Url : http://mailman.mit.edu/pipermail/krbdev/attachments/20170823/4d684e9a/attachment-0001.bin


More information about the krbdev mailing list