From d94b1762c56feb06dc3f7347a1c4c47e03b5ba06 Mon Sep 17 00:00:00 2001 From: Azat Khuzhin Date: Sat, 19 Nov 2016 18:00:36 +0300 Subject: [PATCH] Fix dirty_shutdown for openssl 1.1 SSL_read() returns -1, even when underlying read() return 0 --- bufferevent_openssl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bufferevent_openssl.c b/bufferevent_openssl.c index fe057f0a..812b5d06 100644 --- a/bufferevent_openssl.c +++ b/bufferevent_openssl.c @@ -504,7 +504,7 @@ conn_closed(struct bufferevent_openssl *bev_ssl, int when, int errcode, int ret) break; case SSL_ERROR_SYSCALL: /* IO error; possibly a dirty shutdown. */ - if (ret == 0 && ERR_peek_error() == 0) + if ((ret == 0 || ret == -1) && ERR_peek_error() == 0) dirty_shutdown = 1; break; case SSL_ERROR_SSL: -- 2.40.0