| From: | Andrey Borodin <x4mmm(at)yandex-team(dot)ru> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | Andrey Rachitskiy <pl0h0yp1(at)gmail(dot)com>, ilia(dot)kashintsev(at)gmail(dot)com, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: BUG #19613: pg_restore: several SEGVs in ReadToc() in pg_backup_archiver.c |
| Date: | 2026-08-16 15:03:15 |
| Message-ID: | DD50289D-8ABC-4C75-9116-3595172A515B@yandex-team.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
> The thing you would wish
> that a regression test could catch is adding a new TOC field that is
> effectively required while failing to use ReadRequiredStr for it.
> Which a test like this wouldn't.
Agreed. I was thinking about proving the current fix, but that is not
the likely future regression.
I also considered constructing an archive with each string field set
to NULL in turn. That still requires the test to maintain its own list
of TOC fields, so a newly added field would not automatically be
covered.
We could encode the invariant in the API by making callers explicitly
choose ReadRequiredStr() or ReadNullableStr(), but that is quite a bit
more changes for a small back-patchable(?) fix.
Thank you!
Best regards, Andrey Borodin.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andrey Borodin | 2026-08-16 16:01:18 | Re: BUG #19620: pg_class index corruption caused by statement_timeout during VACUUM FULL |
| Previous Message | Tom Lane | 2026-08-16 14:32:14 | Re: BUG #19612: SEGV in ParseConfigFp() in guc-file.l |