Package: postgresql-plproxy
Version: 2.5-4
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 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -I/usr/include/mit-krb5 -fPIC -pie 
-DLINUX_OOM_SCORE_ADJ=0 -fno-omit-frame-pointer -Wall -Wmissing-prototypes 
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels 
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv 
-fexcess-precision=standard -g  -fpic -shared -o plproxy.so src/scanner.o 
src/parser.tab.o src/cluster.o src/execute.o src/function.o src/main.o 
src/query.o src/result.o src/type.o src/poll_compat.o src/aatree.o 
-L/usr/lib/x86_64-linux-gnu -Wl,-z,relro -Wl,-z,now -Wl,--as-needed 
-L/usr/lib/mit-krb5 -L/usr/lib/x86_64-linux-gnu/mit-krb5  -Wl,--as-needed  
-L/usr/lib/x86_64-linux-gnu -lpq 

error: conflicting function declarations "plproxy_yy_scan_bytes"
old definition in module scanner file src/scanner.c line 2246
struct yy_buffer_state * (const char *yybytes, unsigned long int _yybytes_len)
new definition in module parser.tab file 
/srv/jenkins-slave/workspace/sid-goto-cc-postgresql-plproxy/postgresql-plproxy-2.5/src/parser.y
 line 24
void (const char *, signed int)
/usr/lib/postgresql/9.3/lib/pgxs/src/makefiles/../../src/Makefile.shlib:329: 
recipe for target 'plproxy.so' failed
make[1]: *** [plproxy.so] Error 64
make[1]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-postgresql-plproxy/postgresql-plproxy-2.5/build-9.3'
debian/rules:10: recipe for target 'build-stamp' failed
make: *** [build-stamp] Error 2

For any platform with sizeof(int)<sizeof(long), the above  has undefined
behaviour as several bytes _yybytes_len will take an arbitrary value. Here, this
may result in invalid memory accesses.

The declaration in parser.y should be fixed.

Best,
Michael

Attachment: pgprTf2lOSr6m.pgp
Description: PGP signature

Reply via email to