pgsql: Fix trim_array() for zero-dimensional array argument.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix trim_array() for zero-dimensional array argument.
Дата
Msg-id E1oICyO-0026tT-6L@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix trim_array() for zero-dimensional array argument.

The code tried to access ARR_DIMS(v)[0] and ARR_LBOUND(v)[0]
whether or not those values exist.  This made the range check
on the "n" argument unstable --- it might or might not fail, and
if it did it would report garbage for the allowed upper limit.
These bogus accesses would probably annoy Valgrind, and if you
were very unlucky even lead to SIGSEGV.

Report and fix by Martin Kalcher.  Back-patch to v14 where this
function was added.

Discussion: https://postgr.es/m/baaeb413-b8a8-4656-5757-ef347e5ec11f@aboutsource.net

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4ddfbd2a8ea9b41ced0cad1d984c833085f8ce91

Modified Files
--------------
src/backend/utils/adt/arrayfuncs.c   | 9 ++++++---
src/test/regress/expected/arrays.out | 2 ++
src/test/regress/sql/arrays.sql      | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Make new auto_explain test safe for log_error_verbosity = verbos
Следующее
От: Andres Freund
Дата:
Сообщение: pgsql: ci: switch to freebsd 13.1