Re: libpq leaks memory for SSL connections

From: Timo Sirainen <timo(at)sirainen(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: libpq leaks memory for SSL connections
Date: 2021-10-01 20:06:36
Message-ID: 54FDC07F-AA08-4095-A4E9-F744CFAD4051@sirainen.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 1. Oct 2021, at 21.46, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
> Timo Sirainen <timo(at)sirainen(dot)com> writes:
>> I noticed with valgrind how libpq is leaking memory:
>> at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
>> by 0x5F645C8: CRYPTO_zalloc (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
>> by 0x5E94EEF: BIO_meth_new (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
>> by 0x65181EB: ??? (in /usr/lib/x86_64-linux-gnu/libpq.so.5.11)
>> by 0x651950C: ??? (in /usr/lib/x86_64-linux-gnu/libpq.so.5.11)
>> by 0x650140F: PQconnectPoll (in /usr/lib/x86_64-linux-gnu/libpq.so.5.11)
>
> I see no leak here. The struct is allocated once and kept for possible
> re-use by future connections. valgrind concurs, saying it's "still
> reachable".

Oh, right, somehow I missed it didn't allocate new memory every time. And for some reason valgrind tells me it is "definitely lost". It would be nice if there was some PQglobalDeinit() function that could be called to free it to avoid having to add valgrind suppression, but I guess that's more of a feature request.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2021-10-02 11:00:02 BUG #17212: pg_amcheck fails on checking temporary relations
Previous Message Tom Lane 2021-10-01 19:46:39 Re: libpq leaks memory for SSL connections