Re: Memory leak in CachememoryContext

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Ajit Awekar <ajit.awekar@enterprisedb.com>, pgsql-hackers@lists.postgresql.org, Rushabh Lathia <rushabh.lathia@enterprisedb.com>, Jeevan Chalke <jeevan.chalke@enterprisedb.com>
Date: 2023-04-24T14:11:25Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
>> (Note to self: we can't remove the cast_hash_context field in
>> back branches for fear of causing an ABI break for pldebugger.
>> But we can leave it unused, I think.)

> Hmm, we can leave it unused in our code, but it still needs to be
> initialized to some valid memory context anyway; otherwise hypothetical
> code that uses it would still crash.

I think we want that to happen, actually, because it's impossible
to guess what such hypothetical code needs the context to be.
As things stand now, that field points to a long-lived context
in some cases and a short-lived one in others.  We risk either
data structure corruption or a session-lifespan memory leak
if we guess about such usage ... which really shouldn't exist
anyway.

			regards, tom lane



Commits

  1. Fix memory leakage in plpgsql DO blocks that use cast expressions.