pgsql: Tighten array dimensionality checks in Perl -> SQL array convers

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Tighten array dimensionality checks in Perl -> SQL array convers
Дата
Msg-id E1pso2H-005We4-Io@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Tighten array dimensionality checks in Perl -> SQL array conversion.

plperl_array_to_datum() wasn't sufficiently careful about checking
that nested lists represent a rectangular array structure; it would
accept inputs such as "[1, []]".  This is a bit related to the
PL/Python bug fixed in commit 81eaaf65e, but it doesn't seem to
provide any direct route to a memory stomp.  Instead the likely
failure mode is for makeMdArrayResult to be passed fewer Datums than
the claimed array dimensionality requires, possibly leading to a wild
pointer dereference and SIGSEGV.

Per report from Alexander Lakhin.  It's been broken for a long
time, so back-patch to all supported branches.

Discussion: https://postgr.es/m/5ebae5e4-d401-fadf-8585-ac3eaf53219c@gmail.com

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/900a8d526ff538d6cd03c3f52ba09fd4dc765915

Modified Files
--------------
src/pl/plperl/expected/plperl_array.out | 43 +++++++++++++++++++++++
src/pl/plperl/plperl.c                  | 62 +++++++++++++++++++++------------
src/pl/plperl/sql/plperl_array.sql      | 37 ++++++++++++++++++++
3 files changed, 119 insertions(+), 23 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Handle zero-length sublist correctly in Python -> SQL array conv
Следующее
От: Michael Paquier
Дата:
Сообщение: pgsql: doc: Fix typo in pg_amcheck for term "schema"