From 69300347b5a8b23b2c117936f7b144ec90a6e59f Mon Sep 17 00:00:00 2001 From: Joel Jacobson Date: Sun, 1 Mar 2026 17:59:43 +0100 Subject: [PATCH] Fix sizeof bug in RegisterExtensionExplainOption The allocations used sizeof(char *) instead of sizeof(ExplainExtensionOption). --- src/backend/commands/explain_state.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/commands/explain_state.c b/src/backend/commands/explain_state.c index 803c74dd178..77f59b8e500 100644 --- a/src/backend/commands/explain_state.c +++ b/src/backend/commands/explain_state.c @@ -335,7 +335,7 @@ RegisterExtensionExplainOption(const char *option_name, ExplainExtensionOptionArray = (ExplainExtensionOption *) MemoryContextAlloc(TopMemoryContext, ExplainExtensionOptionsAllocated - * sizeof(char *)); + * sizeof(ExplainExtensionOption)); } /* If there's an array but it's currently full, expand it. */ @@ -344,7 +344,7 @@ RegisterExtensionExplainOption(const char *option_name, int i = pg_nextpower2_32(ExplainExtensionOptionsAssigned + 1); ExplainExtensionOptionArray = (ExplainExtensionOption *) - repalloc(ExplainExtensionOptionArray, i * sizeof(char *)); + repalloc(ExplainExtensionOptionArray, i * sizeof(ExplainExtensionOption)); ExplainExtensionOptionsAllocated = i; } -- 2.52.0