Package: ax25-apps Version: 0.0.8-rc2+cvs20130510-3 Usertags: goto-cc During a rebuild of all Debian packages in a clean sid chroot (using cowbuilder and pbuilder) the build failed with the following error. Please note that we use our research compiler tool-chain (using tools from the cbmc package), which permits extended reporting on type inconsistencies at link time.
[...] libtool: link: gcc -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -o call call.o menu.o crc.o yapp.o dostime.o -lncurses /usr/lib/libax25.so error: conflicting function declarations "unix2yapp" old definition in module yapp file call.h line 21 void (signed int, char *) new definition in module dostime file dostime.c line 87 void (signed long int unix_date, char *buffer) Makefile:411: recipe for target 'call' failed make[3]: *** [call] Error 64 make[3]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-ax25-apps/ax25-apps-0.0.8-rc2+cvs20130510/call' Makefile:391: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 The wrong type in call.h breaks the following call of unix2yapp in two ways: http://sources.debian.net/src/ax25-apps/0.0.8-rc2+cvs20130510-3/call/yapp.c?hl=208#L208 First, sb.st_mtime will be converted to int, possibly losing information as the value max exceed the maximum value of int. The implementation, then, will face undefined values for several bytes if sizeof(long)>sizeof(int). On big endian systems, the call will even break when values fit the maximum value of int. Best, Michael
pgpHVfZ64plgA.pgp
Description: PGP signature