Re: Plug minor memleak in pg_dump

From: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Daniel Gustafsson <daniel(at)yesql(dot)se>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, bharath(dot)rupireddyforpostgres(at)gmail(dot)com, gkokolatos(at)pm(dot)me
Subject: Re: Plug minor memleak in pg_dump
Date: 2022-02-10 11:14:13
Message-ID: CAEudQArrGb+PBKRozPFZbs6YxTO3ZmYMXPxY_0ZEtgXk9UEmNw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Em qua., 9 de fev. de 2022 às 23:16, Michael Paquier <michael(at)paquier(dot)xyz>
escreveu:

> On Wed, Feb 09, 2022 at 02:48:35PM -0300, Ranier Vilela wrote:
> > IMO I think that still have troubles here.
> >
> > ReadStr can return NULL, so the fix can crash.
>
> - sscanf(tmp, "%u", &te->catalogId.tableoid);
> - free(tmp);
> + if (tmp)
> + {
> + sscanf(tmp, "%u", &te->catalogId.tableoid);
> + free(tmp);
> + }
> + else
> + te->catalogId.tableoid = InvalidOid;
>
> This patch makes things worse, doesn't it?

No.

> Doesn't this localized
> change mean that we expose ourselves more into *ignoring* TOC entries
> if we mess up with this code in the future?

InvalidOid already used for "default".
If ReadStr fails and returns NULL, sscanf will crash.

Maybe in this case, better report to the user?
pg_log_warning?

regards,
Ranier Vilela

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2022-02-10 11:25:36 Re: Unnecessary call to resetPQExpBuffer in getIndexes
Previous Message Julien Rouhaud 2022-02-10 11:08:02 Re: Database-level collation version tracking