Peter Eisentraut wrote: > cc -Wall -Wmissing-prototypes -Wpointer-arith > -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute > -Wformat-security -fno-strict-aliasing -fwrapv > -fexcess-precision=standard -g -O2 -I../../../src/include > -D_FORTIFY_SOURCE=2 -DLINUX_OOM_ADJ -D_GNU_SOURCE -I/usr/include/libxml2 > -c -o objectaddress.o objectaddress.c > objectaddress.c: In function ‘get_object_address’: > objectaddress.c:1650:24: warning: ‘typeoids[1]’ may be used > uninitialized in this function [-Wmaybe-uninitialized] > objectaddress.c:1582:6: note: ‘typeoids[1]’ was declared here > objectaddress.c:1627:43: warning: ‘typenames[1]’ may be used > uninitialized in this function [-Wmaybe-uninitialized] > objectaddress.c:1581:12: note: ‘typenames[1]’ was declared here > objectaddress.c:1650:24: warning: ‘typeoids[0]’ may be used > uninitialized in this function [-Wmaybe-uninitialized] > objectaddress.c:1582:6: note: ‘typeoids[0]’ was declared here > objectaddress.c:1627:43: warning: ‘typenames[0]’ may be used > uninitialized in this function [-Wmaybe-uninitialized] > objectaddress.c:1581:12: note: ‘typenames[0]’ was declared here > > cc (Debian 4.7.2-5) 4.7.2
Oh yeah, buildfarm member sitella shows that. Does the attached patch fix it? (pretty much the same thing Michael attached, but we also need to handle typeoids) -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c index 8ccc171..7f73fc0 100644 --- a/src/backend/catalog/objectaddress.c +++ b/src/backend/catalog/objectaddress.c @@ -1578,8 +1578,8 @@ get_object_address_opf_member(ObjectType objtype, ObjectAddress address; ListCell *cell; List *copy; - TypeName *typenames[2]; - Oid typeoids[2]; + TypeName *typenames[2] = { NULL, NULL }; + Oid typeoids[2] = { InvalidOid, InvalidOid }; int membernum; int i; @@ -1607,6 +1607,9 @@ get_object_address_opf_member(ObjectType objtype, break; } + Assert(typenames[0] != NULL && typenames[1] != NULL); + Assert(typeoids[0] != InvalidOid && typeoids[1] != InvalidOid); + switch (objtype) { case OBJECT_AMOP:
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers