diff options
author | tb <> | 2021-01-02 18:00:08 +0000 |
---|---|---|
committer | tb <> | 2021-01-02 18:00:08 +0000 |
commit | 8293a54574b92a53616903d0a24d127e3e13236b (patch) | |
tree | c16eb996c75791191881c35f76b19c3aed6a50c2 /src/lib/libtls/man/tls_config_set_protocols.3 | |
parent | 8cac7d9b8810fc488a8be55f03d35e0a870edb45 (diff) | |
download | openbsd-8293a54574b92a53616903d0a24d127e3e13236b.tar.gz openbsd-8293a54574b92a53616903d0a24d127e3e13236b.tar.bz2 openbsd-8293a54574b92a53616903d0a24d127e3e13236b.zip |
Free {alert,phh}_data in tls13_record_layer_free()
httpd(8)'s incorrect tls_close() after closing the underlying socket
led to a leak: tls_close()'s attempt to send out the close_notify won't
work very well over a closed pipe. This resulted in alert_data still
hanging off the TLSv1.3 context's record layer struct. The tls_free()
call should have cleaned this up but failed to do so.
The record layer's phh_data potentially has the same issue, so free it
as well. This diff makes -current httpd(8) run in constant memory over
hundreds of thousands TLS connections with a static site.
ok inoguchi jsing
Diffstat (limited to 'src/lib/libtls/man/tls_config_set_protocols.3')
0 files changed, 0 insertions, 0 deletions