From 6d6f286d62d211e2238948c1ab8d7dd3d5f6c00a Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Wed, 15 May 2024 20:32:14 +0200 Subject: [PATCH] Fix query result leak during binary upgrade 9a974cbcba00 moved the query in binary_upgrade_set_pg_class_oids to the outer level, but left the PQclear and query buffer destruction in the is_index conditional. 353708e1fb2d fixed the leak of the query buffer but left the PGresult leak. This moves clearing the result to the outer level ensuring that it will be called. --- src/bin/pg_dump/pg_dump.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index ac920f64c7..5dfa7b3bcb 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -5479,8 +5479,6 @@ binary_upgrade_set_pg_class_oids(Archive *fout, "SELECT pg_catalog.binary_upgrade_set_next_index_relfilenode('%u'::pg_catalog.oid);\n", toast_index_relfilenumber); } - - PQclear(upgrade_res); } else { @@ -5493,6 +5491,8 @@ binary_upgrade_set_pg_class_oids(Archive *fout, relfilenumber); } + PQclear(upgrade_res); + appendPQExpBufferChar(upgrade_buffer, '\n'); destroyPQExpBuffer(upgrade_query); -- 2.39.3 (Apple Git-146)