diff --git a/contrib/pg_upgrade/controldata.c b/contrib/pg_upgrade/controldata.c
index 5d5ab854ca8323d726359d9edfa52d162d8b2e65..7da19c6c28bd7f1990a5be51f355096993acf87f 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;
 		}