From ac7009abd228362042edd10e6b12556ddef35171 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Fri, 9 Jan 2015 12:12:30 -0500
Subject: [PATCH] pg_upgrade:  fix one-byte per empty db memory leak

Report by Tatsuo Ishii, Coverity
---
 contrib/pg_upgrade/relfilenode.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/contrib/pg_upgrade/relfilenode.c b/contrib/pg_upgrade/relfilenode.c
index 70753f233dc..423802bd239 100644
--- a/contrib/pg_upgrade/relfilenode.c
+++ b/contrib/pg_upgrade/relfilenode.c
@@ -110,10 +110,8 @@ transfer_all_new_dbs(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
 			pg_fatal("old database \"%s\" not found in the new cluster\n",
 					 old_db->db_name);
 
-		n_maps = 0;
 		mappings = gen_db_file_maps(old_db, new_db, &n_maps, old_pgdata,
 									new_pgdata);
-
 		if (n_maps)
 		{
 			print_maps(mappings, n_maps, new_db->db_name);
@@ -123,9 +121,9 @@ transfer_all_new_dbs(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
 #endif
 			transfer_single_new_db(pageConverter, mappings, n_maps,
 								   old_tablespace);
-
-			pg_free(mappings);
 		}
+		/* We allocate something even for n_maps == 0 */
+		pg_free(mappings);
 	}
 
 	return;
-- 
GitLab