From 61e3264cf11cfbc9d8989f61afadb0be2fa7207b Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Fri, 2 Oct 2026 09:29:06 +0200 Subject: [PATCH v5 3/5] Clear SSL_hosts when destroying TLS The loaded SSL_CTX objects were cleared on SSL initialization but not when destroying the TLS objects via be_tls_destroy(). This would not leak the contexts, but consume memory for no reason. Reported-by: Jacob Champion Reviewed-by: Zsolt Parragi Discussion: https://postgr.es/m/CAOYmi+mAtEn4wN3xx=r4TaY5AHy9_q9XncM8YQLhofE3op0SvA@mail.gmail.com Backpatch-through: 19 --- src/backend/libpq/be-secure-openssl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c index c95e2ec62c2..b9cac88ba55 100644 --- a/src/backend/libpq/be-secure-openssl.c +++ b/src/backend/libpq/be-secure-openssl.c @@ -856,6 +856,13 @@ be_tls_destroy(void) SSL_CTX_free(SSL_context); SSL_context = NULL; ssl_loaded_verify_locations = false; + + if (SSL_hosts_memcxt) + { + MemoryContextDelete(SSL_hosts_memcxt); + SSL_hosts_memcxt = NULL; + SSL_hosts = NULL; + } } int -- 2.39.3 (Apple Git-146)