]> 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:51 +0000 (05:13 -0700)
committerNoah Misch <noah@leadboat.com>
Mon, 11 May 2026 12:13:51 +0000 (05:13 -0700)
commite49e9590d984d60bfd95b438e5c6c07d08e9d661
treef930f0fe403a1bd3057f3dbaf15b5965ebc15d5b
parentfb0bc321d3a9a87c8fda23185bf581a373860da8
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