pgsql: Fix null-pointer crash in postgres_fdw's conversion_error_callba - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix null-pointer crash in postgres_fdw's conversion_error_callba
Date
Msg-id E1mYCwB-0006zs-8y@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/aee83f39a86bb66baa66d65e87ca8415ac26800b

Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out |   3 +
contrib/postgres_fdw/postgres_fdw.c            | 108 +++++++++++++++++--------
contrib/postgres_fdw/sql/postgres_fdw.sql      |   1 +
3 files changed, 77 insertions(+), 35 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pgsql: Avoid doing catalog lookups in postgres_fdw's conversion_error_c
Next
From: Michael Paquier
Date:
Subject: pgsql: Refactor per-destination file rotation in logging collector