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 13:49:43
Message-ID: CAEudQApqFTsmeYBJbnA7ANGDm1Hd7Vu8QEGjsBya31vKawrrYQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Em qui., 10 de fev. de 2022 às 08:14, Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
escreveu:

> 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?
>
Maybe in this case, the right thing is abort?

See v2, please.

regards,
Ranier Vilela

Attachment Content-Type Size
v2_fix_possible_null_dereference_pg_backup_archiver.patch application/octet-stream 2.1 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Gustafsson 2022-02-10 13:57:24 Re: Plug minor memleak in pg_dump
Previous Message Amit Kapila 2022-02-10 13:34:17 Re: [BUG]Update Toast data failure in logical replication