dbase_redo: Fix Valgrind-reported memory leak
authorÁlvaro Herrera <alvherre@kurilemu.de>
Sat, 11 Oct 2025 14:39:22 +0000 (16:39 +0200)
committerÁlvaro Herrera <alvherre@kurilemu.de>
Sat, 11 Oct 2025 14:39:22 +0000 (16:39 +0200)
Introduced by my (Álvaro's) commit 9e4f914b5eba, which was itself
backpatched to pg10, though only pg15 and up contain the problem
because of commit 9c08aea6a309.

This isn't a particularly significant leak, but given the fix is
trivial, we might as well backpatch to all branches where it applies, so
do that.

Author: Nathan Bossart <nathandbossart@gmail.com>
Reported-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/x4odfdlrwvsjawscnqsqjpofvauxslw7b4oyvxgt5owoyf4ysn@heafjusodrz7

src/backend/commands/dbcommands.c

index 1904f96136430f09e8d7610cad81b214b75f76d8..5a8619ead70f1701430ee9dce98faea72e0e087b 100644 (file)
@@ -3233,6 +3233,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,