From: Matt Caswell Date: Wed, 4 May 2016 08:12:27 +0000 (+0100) Subject: Remove stale errors from early connection attempts in a client X-Git-Tag: OpenSSL_1_1_0-pre6~939 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ea837d79f91f481d7b07ea7a985b35c24e9dcc79;p=oweals%2Fopenssl.git Remove stale errors from early connection attempts in a client The init_client() function in the apps sets up the client connection. It may try multiple addresses until it finds one that works. We should clear the error queue if we eventually get a successful connection because otherwise we get stale errors hanging around. This can cause problems in subsequent calls to SSL_get_error(), i.e. non-fatal NBIO events appear as fatal. Reviewed-by: Richard Levitte --- diff --git a/apps/s_socket.c b/apps/s_socket.c index 465321754c..6d77d8215b 100644 --- a/apps/s_socket.c +++ b/apps/s_socket.c @@ -195,6 +195,8 @@ int init_client(int *sock, const char *host, const char *port, if (*sock == INVALID_SOCKET) { ERR_print_errors(bio_err); } else { + /* Remove any stale errors from previous connection attempts */ + ERR_clear_error(); ret = 1; } BIO_ADDRINFO_free(res);