]> granicus.if.org Git - postgresql/commit
GCC 4.0 includes a new warning option, -Wformat-literal, that emits
authorNeil Conway <neilc@samurai.com>
Sat, 30 Apr 2005 08:36:18 +0000 (08:36 +0000)
committerNeil Conway <neilc@samurai.com>
Sat, 30 Apr 2005 08:36:18 +0000 (08:36 +0000)
commita935e36ae9674f63887cdb7d94e1c31cb08e08c4
tree3e3f32e9004f690770a261adbca69638f3a2abe1
parent15ea6d5a2fdc57ef14ebf2c06f4f7392b6599899
GCC 4.0 includes a new warning option, -Wformat-literal, that emits
a warning when a variable is used as a format string for printf()
and similar functions (if the variable is derived from untrusted
data, it could include unexpected formatting sequences). This
emits too many warnings to be enabled by default, but it does
flag a few dubious constructs in the Postgres tree. This patch
fixes up the obvious variants: functions that are passed a variable
format string but no additional arguments.

Most of these are harmless (e.g. the ruleutils stuff), but there
is at least one actual bug here: if you create a trigger named
"%sfoo", pg_dump will read uninitialized memory and fail to dump
the trigger correctly.
src/backend/utils/adt/ruleutils.c
src/bin/pg_dump/pg_backup_archiver.c
src/bin/pg_dump/pg_dump.c