| From: | Timo Sirainen <timo(at)sirainen(dot)com> |
|---|---|
| To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
| Subject: | libpq leaks memory for SSL connections |
| Date: | 2021-10-01 12:49:38 |
| Message-ID: | CE981CB2-8907-4530-9886-24A54C9056B9@sirainen.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
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)
Debian doesn't have debuginfo packages for libpq, but looking at the code I think it's pretty clear where the bug is:
my_SSL_set_fd() calls my_BIO_s_socket() which allocates memory with BIO_meth_new(), but nothing ever frees it. Note that OpenSSL's BIO_s_socket() returns a const pointer to statically allocated memory.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | PG Bug reporting form | 2021-10-01 13:20:01 | BUG #17210: Postgres Let'sEncrypt root certificate is expired and breaks installation of postgres-client |
| Previous Message | PG Bug reporting form | 2021-10-01 12:16:55 | BUG #17209: The latest pgdg-redhat-repo-latest.noarch has incorrect path for pgdg14 |