Package: pgpool2
Version: 3.3.3-2
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.

[...]
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -D_GNU_SOURCE -I .. -I 
/usr/include/postgresql -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall 
-Wmissing-prototypes -Wmissing-declarations -MT pcp.lo -MD -MP -MF 
.deps/pcp.Tpo -c pcp.c  -fPIC -DPIC -o .libs/pcp.o
file pcp.c line 1649 function pcp_watchdog_info: in expression `atof(index)':
conversion from `double' to `WD_STATUS': implicit conversion not permitted
CONVERSION ERROR
Makefile:638: recipe for target 'pcp.lo' failed
make[3]: *** [pcp.lo] Error 1
make[3]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-pgpool2/pgpool2-3.3.3/pcp'
Makefile:861: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1

This is here:

http://sources.debian.net/src/pgpool2/3.3.3-2/pcp/pcp.c?hl=1649#L1649

It may have historic reasons that atof is used here, but this should really be a
checked conversion towards one of the legitimated values of WD_STATUS:

http://sources.debian.net/src/pgpool2/3.3.3-2/watchdog/watchdog.h?hl=109#L103

(and that checked conversion would use atoi).

Best,
Michael

Attachment: pgp8M66kN4HCv.pgp
Description: PGP signature

Reply via email to