[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#749782: m-tx: Conflicting declarations of function predelete to cause undefined behaviour



Package: m-tx
Version: 0.60d.ctan20131214-1
Usertags: goto-cc

During a rebuild of all packages in a clean sid chroot (and cowbuilder+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.

[...]
gcc  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -Wl,-z,relro -o prepmx analyze.o cfuncs.o control.o files.o globals.o lyrics.o mtx.o mtxline.o multfile.o notes.o preamble.o prepmx.o status.o uptext.o utility.o libp2c.a 

error: conflicting function declarations "predelete"
old definition in module analyze file strings.h line 26
void (char *, signed int)
new definition in module cfuncs file cfuncs.c line 40
void (char *s, signed short int l)
Makefile:312: recipe for target 'prepmx' failed
make[2]: *** [prepmx] Error 64
make[2]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-m-tx/m-tx-0.60d.ctan20131214/mtx-0.60d'
debian/rules:18: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2

For any platform with sizeof(short)<sizeof(int) this will result in undefined
behaviour in (at least) two ways: a negative int or a positive value >= 2^15
will be truncated; on big endian systems, even values fitting this range will
not work correctly as the wrong bytes will be used.

Best,
Michael



Attachment: pgpyEPEIxuUWC.pgp
Description: PGP signature


Reply to: