From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Sergey KOPOSOV <Sergey(dot)Koposov(at)ed(dot)ac(dot)uk> |
Cc: | "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG |
Date: | 2021-04-01 15:39:33 |
Message-ID: | 3413025.1617291573@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Sergey KOPOSOV <Sergey(dot)Koposov(at)ed(dot)ac(dot)uk> writes:
> Importantly This requires running pg_restore without '-Fc' flag, i.e. to let it autodetect.
> $ cat /tmp/xx1.short | ./src/bin/pg_dump/pg_restore
> Segmentation fault (core dumped)
> $ cat /tmp/xx1.short | ./src/bin/pg_dump/pg_restore -Fc
> pg_restore: [archiver] unsupported version (1.14) in file header
Ooooh ... the autodetect + cant-seek code path is just broken. All of the
sanity checks on the first few fields of the file --- particularly the
version number --- just get skipped in this scenario.
I wonder why it's a good idea to read-ahead any of those fields in the
first place. Checking the PGDMP magic string seems sufficient.
Will fix, thanks for the report!
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Justin Pryzby | 2021-04-01 17:56:34 | Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG |
Previous Message | Sergey KOPOSOV | 2021-04-01 13:05:44 | Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG |