From: Tom Lane Date: Wed, 12 Feb 2025 20:46:31 +0000 (-0500) Subject: Fix minor memory leaks in pg_dump. X-Git-Tag: REL_18_BETA1~889 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fcd77a6873018c06a34761b7be0c0d1fd847fdd5;p=thirdparty%2Fpostgresql.git Fix minor memory leaks in pg_dump. Coverity reported the two oversights in getPublicationTables. Valgrind found the one in determineNotNullFlags. The mistakes in getPublicationTables seem too minor to be worth back-patching. determineNotNullFlags could be run enough times to matter, but that code is new in v18. So, no back-patch. --- diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index ca15b40939c..30dfda8c3ff 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -4682,6 +4682,8 @@ getPublicationTables(Archive *fout, TableInfo tblinfo[], int numTables) appendPQExpBufferStr(attribs, fmtId(attnames[k])); } pubrinfo[j].pubrattrs = attribs->data; + free(attribs); /* but not attribs->data */ + free(attnames); } else pubrinfo[j].pubrattrs = NULL; @@ -9424,6 +9426,7 @@ determineNotNullFlags(Archive *fout, PGresult *res, int r, tbinfo->notnull_constrs[j] = pstrdup(PQgetvalue(res, r, i_notnull_name)); } + free(default_name); } } }