pgsql: In array_position()/array_positions(), beware of empty input arr - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: In array_position()/array_positions(), beware of empty input arr
Date
Msg-id E1pubCB-000Sk0-Qw@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
In array_position()/array_positions(), beware of empty input array.

These functions incautiously fetched the array's first lower bound
even when the array is zero-dimensional, thus fetching the word
after the allocated array space.  While almost always harmless,
with very bad luck this could result in SIGSEGV.  Fix by adding
an early exit for empty input.

Per bug #17920 from Alexander Lakhin.

Discussion: https://postgr.es/m/17920-f7c228c627b6d02e%40postgresql.org

Branch
------
master

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

Modified Files
--------------
src/backend/utils/adt/array_userfuncs.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Tighten array dimensionality checks in Python -> SQL array conve
Next
From: Alvaro Herrera
Date:
Subject: pgsql: Fix ExecCheckPermissions call in RI_Initial_Check