diff options
author | Valentin Bartenev <vbart@nginx.com> | 2021-03-15 14:57:01 +0300 |
---|---|---|
committer | Valentin Bartenev <vbart@nginx.com> | 2021-03-15 14:57:01 +0300 |
commit | a1107e859b5f401261d378fc251667bcf2272536 (patch) | |
tree | ad10383ccc6d0615fe5d2bc08ff94e56ac8752de /src/nxt_buf_pool.h | |
parent | 1950d0aee2bc95f1cb6a07349f11eb5e5f6edf5c (diff) | |
download | unit-a1107e859b5f401261d378fc251667bcf2272536.tar.gz unit-a1107e859b5f401261d378fc251667bcf2272536.tar.bz2 |
Fixed TLS connection shutdown on errors.
An immediate return statement on connection errors was mistakenly added to the
beginning of nxt_openssl_conn_io_shutdown() in ecd3c5bbf7d8, breaking the TLS
connection finalization procedure. As a result, a TLS connection was left
unfinalized if it had been closed prematurely or a fatal protocol error had
occurred, which caused memory and socket descriptor leakage.
Moreover, in some cases (notably, on handshake errors in tests with kqueue on
macOS) the read event was triggered later and nxt_h1p_conn_error() was called
the second time; after the change in af93c866b4f0, the latter call crashed the
router process in an attempt to remove a connection from the idle queue twice.
Diffstat (limited to 'src/nxt_buf_pool.h')
0 files changed, 0 insertions, 0 deletions