Fix array allocation bugs in SetExplainExtensionState.
authorRobert Haas <rhaas@postgresql.org>
Thu, 25 Sep 2025 15:43:52 +0000 (11:43 -0400)
committerRobert Haas <rhaas@postgresql.org>
Thu, 25 Sep 2025 15:43:52 +0000 (11:43 -0400)
commit803ef0ed49eec57990053da1091f9e3b5a7fb839
tree216bd40dd25f8037527ce56e9a0d61300de44201
parent507aa16125c50809dfc926e7ee72938053c01a39
Fix array allocation bugs in SetExplainExtensionState.

If we already have an extension_state array but see a new extension_id
much larger than the highest the extension_id we've previously seen,
the old code might have failed to expand the array to a large enough
size, leading to disaster. Also, if we don't have an extension array
at all and need to create one, we should make sure that it's big enough
that we don't have to resize it instantly.

Reported-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: http://postgr.es/m/2949591.1758570711@sss.pgh.pa.us
Backpatch-through: 18
src/backend/commands/explain_state.c