diff options
author | tb <> | 2021-01-02 18:00:08 +0000 |
---|---|---|
committer | tb <> | 2021-01-02 18:00:08 +0000 |
commit | 55d8fce6872caffa61978d1827458d2f852e9b63 (patch) | |
tree | c16eb996c75791191881c35f76b19c3aed6a50c2 /src/lib/libc/stdlib/rand.c | |
parent | 985a2a93ea9fc4c44149749be05ba03369762954 (diff) | |
download | openbsd-55d8fce6872caffa61978d1827458d2f852e9b63.tar.gz openbsd-55d8fce6872caffa61978d1827458d2f852e9b63.tar.bz2 openbsd-55d8fce6872caffa61978d1827458d2f852e9b63.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/libc/stdlib/rand.c')
0 files changed, 0 insertions, 0 deletions