From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | pgsql-hackers(at)postgresql(dot)org, Robert Haas <robertmhaas(at)gmail(dot)com> |
Subject: | Re: memory leak in dbase_redo() |
Date: | 2025-10-09 14:58:02 |
Message-ID: | aOfNemaM46lxHND8@nathan |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Oct 09, 2025 at 08:08:05AM -0400, Andres Freund wrote:
> And I think it is right. XLOG_DBASE_CREATE_FILE_COPY is careful to
> pfree(parent_path), but XLOG_DBASE_CREATE_WAL_LOG isn't.
It looks like this was introduced by commit 9e4f914, which was
back-patched, but the code path in question first appears in v15. So,
presumably something like the following needs to be back-patched that far.
I can take care of it unless someone else wants it.
diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c
index 2793fd83771..4d65e8c46c2 100644
--- a/src/backend/commands/dbcommands.c
+++ b/src/backend/commands/dbcommands.c
@@ -3375,6 +3375,7 @@ dbase_redo(XLogReaderState *record)
parent_path = pstrdup(dbpath);
get_parent_directory(parent_path);
recovery_create_dbdir(parent_path, true);
+ pfree(parent_path);
/* Create the database directory with the version file. */
CreateDirAndVersionFile(dbpath, xlrec->db_id, xlrec->tablespace_id,
--
nathan
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2025-10-09 15:03:19 | Re: Should we update the random_page_cost default value? |
Previous Message | Greg Burd | 2025-10-09 14:57:35 | Re: Fix for compiler warning triggered in WinGetFuncArgInPartition() |