Package: atop
Version: 1.26-2
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.

[...]
cc atop.o version.o various.o  deviate.o   procdbase.o acctproc.o photoproc.o 
photosyst.o  rawlog.o ifprop.o parseable.o showgeneric.o          showlinux.o  
showsys.o showprocs.o atopsar.o -o atop -Wl,-z,relro -lncurses -lm -lz

error: conflicting function declarations "do_atopsarflags"
old definition in module atop file atop.c line 376
void (char *, char *)
new definition in module atopsar file atopsar.c line 1043
void (char *val)
Makefile:28: recipe for target 'atop' failed
make[1]: *** [atop] Error 64
make[1]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-atop/atop-1.26'
dh_auto_build: make -j1 returned exit code 2
debian/rules:4: recipe for target 'build' failed
make: *** [build] Error 2

Reviewing the code, this is indeed a major problem rather than an issue of
excess arguments only: the calling convention here

http://sources.debian.net/src/atop/1.26-2/atop.c?hl=1034#L1034

will result in do_atopsarflags always being called with "atopsarflags" as value
string. Consequently first case 'a' will be taken, and then the default case
will be picked, repeatedly, for the remaining characters.

http://sources.debian.net/src/atop/1.26-2/atopsar.c?hl=1082,1093#L1082

Best,
Michael

Attachment: pgpapjW6NZYYF.pgp
Description: PGP signature

Reply via email to