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: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9e26326ad6cd11ac32d11e6cbeb613443f361da6;p=postgresql 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 5d5ab854ca..7da19c6c28 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; }