Package: krb5
Version: 1.12.1+dfsg-1
Severity: wishlist
Usertags: goto-cc
Tags: upstream

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 -L../../lib  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -Wl,-z,relro -o kadmin.local kadmin.o kadmin_ct.o 
ss_wrapper.o getdate.o keytab_local.o -lss -lkadm5srv_mit  -lkdb5  -lgssrpc 
-lgssapi_krb5 -lgssrpc -lgssapi_krb5 -ldl -pthread  -lkrb5 -lk5crypto -lcom_err 
-lkrb5support  -lkeyutils -lresolv  -ldl

error: conflicting function declarations "kadmin_delpol"
old definition in module kadmin file ../../../src/kadmin/cli/kadmin.c line 1697
void (signed int argc, char **argv)
new definition in module kadmin_ct file kadmin_ct.c line 66
void (signed int, const char * const *, signed int, void *)
Makefile:616: recipe for target 'kadmin.local' failed
make[3]: *** [kadmin.local] Error 64
make[3]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-krb5/krb5-1.12.1+dfsg/build/kadmin/cli'
Makefile:800: recipe for target 'all-recurse' failed

Note that only the first error is reported, several other functions defined in
kadmin.c face the same problem: the generated kadmin cli command jump table in
kadmin_ct.c requires that all implementations have the uniform

void () __SS_PROTO

signature. The actual implementations in kadmin.c, however, do not always align
with this. Hopefully this is only the case where further arguments are not used,
but no such guarantee can be provided at present. In order to prevent the
potential for undefined behaviour due to such type mismatches, a consistent
function type should be used in all cases. Warnings due to unused arguments can
then be avoided by adding

(void)unused_arg;

statements.

Best,
Michael

Attachment: pgp_WM_45q_9P.pgp
Description: PGP signature

Reply via email to