Em qui., 10 de fev. de 2022 às 08:14, Ranier Vilela <ranier...@gmail.com>
escreveu:

> Em qua., 9 de fev. de 2022 às 23:16, Michael Paquier <mich...@paquier.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: v2_fix_possible_null_dereference_pg_backup_archiver.patch
Description: Binary data

Reply via email to