From fad1d4fcd96162198394d5dc7b4f8cfb1d51386f Mon Sep 17 00:00:00 2001 From: Kosntantin Knizhnik Date: Mon, 23 Jun 2025 08:25:50 +0300 Subject: [PATCH] Allocate error response in top memory context --- pgxn/neon/communicator.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pgxn/neon/communicator.c b/pgxn/neon/communicator.c index 7c84be7d15..857a820b8c 100644 --- a/pgxn/neon/communicator.c +++ b/pgxn/neon/communicator.c @@ -1612,7 +1612,8 @@ nm_unpack_response(StringInfo s) msgtext = pq_getmsgrawstring(s); msglen = strlen(msgtext); - msg_resp = palloc0(sizeof(NeonErrorResponse) + msglen + 1); + /* allocate in top memory context because error responses can be also stored in prefetch ring as well as getpage responses */ + msg_resp = MemoryContextAllocZero(TopMemoryContext, sizeof(NeonErrorResponse) + msglen + 1); msg_resp->req = resp_hdr; memcpy(msg_resp->message, msgtext, msglen + 1); pq_getmsgend(s);