From a30d6d85219ea80c16df6da4f6a9430254e5a0da Mon Sep 17 00:00:00 2001 From: Yury Korzhetsky Date: Tue, 26 Feb 2019 12:33:49 +0300 Subject: [PATCH] Don't loose top error in SSL Closes: #775 (cherry-picked) --- bufferevent_openssl.c | 3 +++ 1 file changed, 3 insertions(+) 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: -- 2.50.1