From: Alvaro Herrera Date: Fri, 29 Jun 2012 03:37:27 +0000 (-0400) Subject: pg_upgrade: fix off-by-one mistake in snprintf X-Git-Tag: REL9_3_BETA1~1277 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9e26326ad6cd11ac32d11e6cbeb613443f361da6;p=thirdparty%2Fpostgresql.git pg_upgrade: fix off-by-one mistake in snprintf snprintf counts trailing NUL towards the char limit. Failing to account for that was causing an invalid value to be passed to pg_resetxlog -l, aborting the upgrade process. --- diff --git a/contrib/pg_upgrade/controldata.c b/contrib/pg_upgrade/controldata.c index 5d5ab854ca8..7da19c6c28b 100644 --- a/contrib/pg_upgrade/controldata.c +++ b/contrib/pg_upgrade/controldata.c @@ -425,7 +425,7 @@ get_control_data(ClusterInfo *cluster, bool live_check) { if (got_log_id && got_log_seg) { - snprintf(cluster->controldata.nextxlogfile, 24, "%08X%08X%08X", + snprintf(cluster->controldata.nextxlogfile, 25, "%08X%08X%08X", tli, logid, segno); got_nextxlogfile = true; }