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 ------ REL_13_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/9a72f499a4b61c34e3ae7759c209e92e0cfef6e1 Modified Files -------------- src/backend/utils/adt/array_userfuncs.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)