Allocate error response in top memory context

This commit is contained in:
Kosntantin Knizhnik
2025-06-23 08:25:50 +03:00
parent 3cf8eb5347
commit fad1d4fcd9

View File

@@ -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);