]> git.ipfire.org Git - thirdparty/openssl.git/commit
Fix record layer leak when swapping chained transport BIO
authorherbenderbler <johnclaus@gmail.com>
Wed, 25 Mar 2026 02:38:48 +0000 (20:38 -0600)
committerNikola Pajkovsky <nikolap@openssl.org>
Tue, 28 Apr 2026 06:39:18 +0000 (06:39 +0000)
commit435feadaf4f9efd9bd05eab9c89cf273c26b86b7
tree0e99ee7a89d6d917ed3d22adad3108cca5c7ce84
parent31286c03513ac2b2b5ccc353d46fc134ff688e6f
Fix record layer leak when swapping chained transport BIO

tls_set1_bio() freed only the top BIO (BIO_free). Use BIO_free_all so
a pushed transport chain is released when the record layer replaces
its BIO.

Add test_ssl_set_wbio_chain_no_leak in sslapitest (stacked BIO chain
via SSL_set0_wbio) per reviewer feedback on GH openssl#30483. Drop the
Perl s_client reconnect recipe and CHANGES entry (internal leak only).

Fixes #30458

Reviewed-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
MergeDate: Tue Apr 28 06:39:25 2026
(Merged from https://github.com/openssl/openssl/pull/30483)
ssl/record/methods/tls_common.c
test/sslapitest.c