]> git.ipfire.org Git - thirdparty/postgresql.git/commit
In array_position()/array_positions(), beware of empty input array.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 4 May 2023 15:48:23 +0000 (11:48 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 4 May 2023 15:48:23 +0000 (11:48 -0400)
commitd5de344a50d3fa03fad38fe41cc3443db4143bb5
treecaa1d7a017b954a2914ee582d5ed910767e3e17c
parent9d517339e9912d8e4afe76e26f9a0e5dc54f6f4e
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
src/backend/utils/adt/array_userfuncs.c