Package: splitvt
Version: 1.6.6-11
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.

[...]
gcc -o splitvt splitvt.o misc.o utmp.o vt100.o videomem.o terminal.o vttest.o 
vtmouse.o parserc.o lock.o cut-paste.o -ltermcap -lutil

error: conflicting function declarations "check_attr"
old definition in module vt100 file splitvt.h line 57
signed int (signed int, signed int, signed int)
new definition in module videomem file videomem.c line 245
signed int (signed int pixel, signed int lastattr, unsigned char *currattr)
Makefile:16: recipe for target 'splitvt' failed
make[1]: *** [splitvt] Error 64

Observe the conflicting declaration in splitvt.h, which does not match the
actual implementation on the last argument. It seems the declaration is actually
added by a Debian patch:

http://sources.debian.net/src/splitvt/1.6.6-11/debian/patches/old.changes.patch?hl=800#L800

Yet not only is this declaration wrong, but looking at

http://codesearch.debian.net/search?q=package%3Asplitvt+check_attr

it seems almost all uses are wrong. This should be fixed as presently calls to
check_attr will almost necessarily result in segmentation faults (in the better
case; in the worst case arbitrary valid memory will be accessed).

Best,
Michael

Attachment: pgppgNdL4RF3a.pgp
Description: PGP signature

Reply via email to