Source: cyrus-sasl2 Version: 2.1.28+dfsg1-4 Severity: serious Justification: breaks X-Debbugs-Cc: t...@mirbsd.de
cyrus-sasl2, before aborting the build due to #1066214, spews several warnings like the following: […] otp.c:648:43: warning: format '%ld' expects argument of type 'long int', but argument 7 has type 'time_t' {aka 'long long int'} [-Wformat=] 648 | sprintf(data, "%s\t%04d\t%s\t%s\t%020ld", | ~~~~~^ | | | long int | %020lld 649 | alg, seq, seed, buf, timeout); | ~~~~~~~ | | | time_t {aka long long int} otp.c:709:48: warning: format '%ld' expects argument of type 'long int *', but argument 7 has type 'time_t *' {aka 'long long int *'} [-Wformat=] 709 | sscanf(secret, "%s\t%04d\t%s\t%s\t%020ld", | ~~~~~^ | | | long int * | %020lld 710 | alg, seq, seed, buf, timeout); | ~~~~~~~ | | | time_t * {aka long long int *} […] These are actual problems that not only result in bad data being printed or read but, if the time_t argument is not (like here) the last one, also wrong arguments being used for subsequent positional parameters. Please fix *all* -Wformat mismatches involving time_t, for example: - sprintf(data, "%s\t%04d\t%s\t%s\t%020ld", + sprintf(data, "%s\t%04d\t%s\t%s\t%020lld", - alg, seq, seed, buf, timeout); + alg, seq, seed, buf, (long long)timeout); + long long tmptimeout; - sscanf(secret, "%s\t%04d\t%s\t%s\t%020ld", + sscanf(secret, "%s\t%04d\t%s\t%s\t%020lld", - alg, seq, seed, buf, timeout); + alg, seq, seed, buf, tmptimeout); + timeout = tmptimeout; Justification: I’ve been fixing bugs like these on MirBSD since its i386 port switched to 64-bit time_t in 2004… Thanks, //mirabilos -- 16:47⎜«mika:#grml» .oO(mira ist einfach gut....) 23:22⎜«mikap:#grml» mirabilos: und dein bootloader ist geil :) 23:29⎜«mikap:#grml» und ich finds saugeil dass ich ein bsd zum booten mit grml hab, das muss ich dann gleich mal auf usb-stick installieren -- Michael Prokop über MirOS bsd4grml