Thread: potential memory leak in pg_regcomp()

potential memory leak in pg_regcomp()

From
Zhihong Yu
Date:
Hi,
I was looking at pg_regcomp():

    re->re_guts = VS(MALLOC(sizeof(struct guts)));

I did some search trying to find where re_guts is freed but haven't found it.
Can someone enlighten me?

Thanks

Re: potential memory leak in pg_regcomp()

From
Michael Paquier
Date:
On Fri, Jul 22, 2022 at 08:20:04PM -0700, Zhihong Yu wrote:
> Hi,
> I was looking at pg_regcomp():
>
>     re->re_guts = VS(MALLOC(sizeof(struct guts)));
>
> I did some search trying to find where re_guts is freed but haven't
> found it.
> Can someone enlighten me?

Oops.  It seems that you are right and that there is room for
improvement here.  regguts.h defines MALLOC() as a simple malloc()..
--
Michael

Attachment

Re: potential memory leak in pg_regcomp()

From
Tom Lane
Date:
Zhihong Yu <zyu@yugabyte.com> writes:
> I was looking at pg_regcomp():
>     re->re_guts = VS(MALLOC(sizeof(struct guts)));
> I did some search trying to find where re_guts is freed but haven't
> found it.

In rfree(), which is called from freev().

            regards, tom lane