pgsql: Reduce memory leakage in initdb.

Started by Tom Laneover 3 years ago1 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

Reduce memory leakage in initdb.

While testing commit 3e51b278d, I noted that initdb leaks about a
megabyte worth of data due to the sloppy bookkeeping in its
string-manipulating code. That's not a huge amount on modern machines,
but it's still kind of annoying, and it's easy to fix by recognizing
that we might as well treat these arrays of strings as
modifiable-in-place. There's no caller that cares about preserving
the old state of the array after replace_token or replace_guc_value.

With this fix, valgrind sees only a few hundred bytes leaked during
an initdb run.

Discussion: /messages/by-id/2844176.1674681919@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4fe2aa7656dce2bd31d4807a6843ff495b9deb80

Modified Files
--------------
src/bin/initdb/initdb.c | 87 +++++++++++++++++++------------------------------
1 file changed, 34 insertions(+), 53 deletions(-)