Package: nmh
Version: 1.6~RC2-1
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  -Wall -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security  -Wl,-z,relro -o uip/mhn uip/mhn.o uip/mhparse.o 
uip/mhcachesbr.o uip/mhshowsbr.o uip/mhlistsbr.o uip/mhstoresbr.o uip/mhmisc.o 
uip/mhfree.o uip/md5.o sbr/libmh.a -ltermcap   -llockfile 

error: conflicting function declarations "show_content_aux"
old definition in module mhshowsbr file uip/mhshowsbr.c line 335
signed int (struct Content *ct, signed int alternate, char *cp, char *cracked)
new definition in module mhstoresbr file uip/mhstoresbr.c line 86
signed int (struct Content *, signed int, signed int, char *, char *)
Makefile:1951: recipe for target 'uip/mhn' failed
make[2]: *** [uip/mhn] Error 64
make[2]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-nmh/nmh-1.6~RC2'
Makefile:1343: recipe for target 'all' failed
make[1]: *** [all] Error 2

Observe that the declaration in mhstoresbr claims there are two int-typed
arguments to be passed - yet the actual definition only takes one of them, and a
total of 4 arguments:

http://sources.debian.net/src/nmh/1.6~RC2-1/uip/mhshowsbr.c?hl=335#L334

Thus the declaration here

http://sources.debian.net/src/nmh/1.6~RC2-1/uip/mhstoresbr.c?hl=86#L86

is wrong and the invocation here

http://sources.debian.net/src/nmh/1.6~RC2-1/uip/mhstoresbr.c?hl=628#L628

will cause unexpected behaviour.

Best,
Michael

Attachment: pgpCZFRD5UbuZ.pgp
Description: PGP signature

Reply via email to