]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix minor memory leaks in pg_dump.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Feb 2025 20:46:31 +0000 (15:46 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Feb 2025 20:46:31 +0000 (15:46 -0500)
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.

src/bin/pg_dump/pg_dump.c

index ca15b40939cb9a433d11098e58d6fcc550793245..30dfda8c3ffc7a87f628458045382eddfd12860e 100644 (file)
@@ -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);
                        }
                }
        }