]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix integer overflow in array_agg(), when the array grows too large
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 11 May 2026 12:13:48 +0000 (05:13 -0700)
committerNoah Misch <noah@leadboat.com>
Mon, 11 May 2026 12:13:48 +0000 (05:13 -0700)
commit67dd6243dc95df560ff3c31ed5b6e9474d98c4c3
tree2564b95e7ccd2206fc6f42f6516341863b1ee2af
parentdd8af778d2292bd8796a4df21d8f17721ed8440c
Fix integer overflow in array_agg(), when the array grows too large

If you accumulate many arrays full of NULLs, you could overflow
'nitems', before reaching the MaxAllocSize limit on the allocations.
Add an explicit check that the number of items doesn't grow too large.
With more than MaxArraySize items, getting the final result with
makeArrayResultArr() would fail anyway, so better to error out early.

Reported-by: Xint Code
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Backpatch-through: 14
Security: CVE-2026-6473
src/backend/utils/adt/arrayfuncs.c