Re: pg_dump: fix memory leak - Mailing list pgsql-hackers

From Álvaro Herrera
Subject Re: pg_dump: fix memory leak
Date
Msg-id 202508290952.h2d7mqhr56zp@alvherre.pgsql
Whole thread Raw
In response to Re: pg_dump: fix memory leak  (Daniel Gustafsson <daniel@yesql.se>)
Responses Re: pg_dump: fix memory leak
List pgsql-hackers
On 2025-Aug-29, Daniel Gustafsson wrote:

> > On 28 Aug 2025, at 16:14, m.korotkov@postgrespro.ru wrote:
> > 
> > I have found a potential memory leak in src/bin/pg_dump/dumputils.c
> > in the function generate_restrict_key().  Memory is allocated to the
> > ret pointer if pg_strong_random returns false, and this leads to a
> > memory leak.  I have replaced the allocation to avoid this leak.
> 
> This is not actually a leak since the application will terminate
> immediately if a restrict key cannot be generated.  If you inspect the
> callsites you will see this pattern:
> 
>     if (!restrict_key)
>         restrict_key = generate_restrict_key();
>     if (!restrict_key)
>         pg_fatal("could not generate restrict key");

Hmm, this begs the question -- why do we make generate_restrict_key()
return NULL in that case?  Maybe we should redefine its contract to be
that it either returns a valid key, or it calls pg_fatal().  Then
callers don't have to worry about it.

-- 
Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/



pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: Assert single row returning SQL-standard functions
Next
From: "Joel Jacobson"
Date:
Subject: Re: Assert single row returning SQL-standard functions