Hi,
On 2026-04-23 00:29:29 +0900, Fujii Masao wrote:
> On Wed, Apr 22, 2026 at 3:46 PM Chao Li <li.evan.chao@gmail.com> wrote:
> >
> > From my experience, most of the time the postmaster is started with -D. On Linux and macOS, that path can be quite
long,PATH_MAX is often 4096 on many Unix-like systems, and I am not sure about Windows. So I think this leak is worth
fixing.
>
> We can also free()/pfree() userDoption in postgres.c and bootstrap.c?
>
> Since userDoption typically uses only a small amount of memory, I'm not sure
> this patch provides much practical benefit from a memory-leak perspective.
I don't think this is a leak at all. We *never* can reach the end of the scope
in which userDoption is allocated. We abort() if the end of PostmasterMain()
is ever reached. What is the leak here supposed to actually be?
> So I don't think it needs to be backpatched to the stable branches.
Definitely not.
> OTOH, if it helps keep Valgrind quiet for userDoption, I may be ok with
> applying it to master.
I'm doubtful it makes sense to fix it this way.
If we do it, we should actually be a bit more systematic and also free
output_config_variable.
ISTM those strdup()s should actually be pstrdup()s? I suspect changing that
would also silence valgrind.
Greetings,
Andres Freund