Fix null-pointer crash in postgres_fdw's conversion_error_callback.
Tom Lane <tgl@sss.pgh.pa.us>
Fix null-pointer crash in postgres_fdw's conversion_error_callback. Commit c7b7311f6 adjusted conversion_error_callback to always use information from the query's rangetable, to avoid doing catalog lookups in an already-failed transaction. However, as a result of the utterly inadequate documentation for make_tuple_from_result_row, I failed to realize that fsstate could be NULL in some contexts. That led to a crash if we got a conversion error in such a context. Fix by falling back to the previous coding when fsstate is NULL. Improve the commentary, too. Per report from Andrey Borodin. Back-patch to 9.6, like the previous patch. Discussion: https://postgr.es/m/08916396-55E4-4D68-AB3A-BD6066F9E5C0@yandex-team.ru
Files
| Path | Change | +/− |
|---|---|---|
| contrib/postgres_fdw/expected/postgres_fdw.out | modified | +3 −0 |
| contrib/postgres_fdw/postgres_fdw.c | modified | +73 −35 |
| contrib/postgres_fdw/sql/postgres_fdw.sql | modified | +1 −0 |
Discussion
Cited messages not in the archive:
08916396-55E4-4D68-AB3A-BD6066F9E5C0@yandex-team.ru