From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Junwang Zhao <zhjwpku(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: [PATCH v1] fix potential memory leak in untransformRelOptions |
Date: | 2022-09-01 17:13:15 |
Message-ID: | 488048.1662052395@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Junwang Zhao <zhjwpku(at)gmail(dot)com> writes:
> I'm a little confused when we should call *pfree* and when we should not.
> A few lines before there is a call *text_to_cstring* in which it invokes
> *pfree* to free the unpacked text [0]. I'm just thinking that since *s* has
> been duplicated, we should free it, that's where the patch comes from.
By and large, the server is designed so that small memory leaks don't
matter: the space will be reclaimed when the current memory context
is deleted, and most code runs in reasonably short-lived contexts.
Individually pfree'ing such allocations is actually a net negative,
because it costs cycles and code space.
There are places where a leak *does* matter, but unless you can
demonstrate that this is one, it's not worth changing.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2022-09-01 18:17:31 | Re: Schema variables - new implementation for Postgres 15 |
Previous Message | Jehan-Guillaume de Rorthais | 2022-09-01 16:41:56 | [BUG] wrong FK constraint name when colliding name on ATTACH |