On 3/2/26 4:18 AM, Michael Paquier wrote:
On Sun, Mar 01, 2026 at 06:10:10PM +0100, Joel Jacobson wrote:
The allocations in src/backend/commands/explain_state.c
used sizeof(char *) instead of sizeof(ExplainExtensionOption),
which could cause a crash if an extension would register
more than 8 extension EXPLAIN options:
Indeed, that's wrong as-is. The problem can be reproduced simply by
saving more options into pg_overexplain, as well, leading to the same
memory chunk issues. Will fix, thanks for the report.
Shouldn't the patch have used repalloc_array()? If the code had done so
in the first place the bug would never have happened.
--
Andreas Karlsson
Percona