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 |
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 |