diff options
author | Yury Korzhetsky <Korzhetsky.Yury@acronis.com> | 2019-02-26 12:33:49 +0300 |
---|---|---|
committer | Azat Khuzhin <azat@libevent.org> | 2019-02-26 22:30:26 +0300 |
commit | a30d6d85219ea80c16df6da4f6a9430254e5a0da (patch) | |
tree | 288b2be6ac98677c5f958a503dd5641422abefd3 /bufferevent_openssl.c | |
parent | b34192bae6f511b91a2fc01409676b2df2fd8a31 (diff) | |
download | libevent-a30d6d85219ea80c16df6da4f6a9430254e5a0da.tar.gz |
Don't loose top error in SSL
Closes: #775 (cherry-picked)
Diffstat (limited to 'bufferevent_openssl.c')
-rw-r--r-- | bufferevent_openssl.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bufferevent_openssl.c b/bufferevent_openssl.c index beebe071..b51b834b 100644 --- a/bufferevent_openssl.c +++ b/bufferevent_openssl.c @@ -511,12 +511,15 @@ conn_closed(struct bufferevent_openssl *bev_ssl, int when, int errcode, int ret) /* IO error; possibly a dirty shutdown. */ if ((ret == 0 || ret == -1) && ERR_peek_error() == 0) dirty_shutdown = 1; + put_error(bev_ssl, errcode); break; case SSL_ERROR_SSL: /* Protocol error. */ + put_error(bev_ssl, errcode); break; case SSL_ERROR_WANT_X509_LOOKUP: /* XXXX handle this. */ + put_error(bev_ssl, errcode); break; case SSL_ERROR_NONE: case SSL_ERROR_WANT_READ: |