From 7b817dd9d249ec0980893b0c4eba21211cb4c4d5 Mon Sep 17 00:00:00 2001 From: Kevin Easton Date: Sun, 3 Dec 2017 01:09:06 +1100 Subject: [PATCH] Correctly handle zero value error return from SSL_write() --- source/server.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/source/server.c b/source/server.c index e035d7c..ba826ab 100644 --- a/source/server.c +++ b/source/server.c @@ -2456,14 +2456,12 @@ static int write_to_server(int server, int des, char *buffer) else { #ifdef HAVE_LIBSSL - if(get_server_ssl(server)) + if (get_server_ssl(server)) { - if(!server_list[server].ssl_fd) - { - say ("SSL write error"); - return -1; - } - err = SSL_write(server_list[server].ssl_fd, buffer, strlen(buffer)); + int ret = SSL_write(server_list[server].ssl_fd, buffer, strlen(buffer)); + + if (ret <= 0) + err = -1; } else #endif