Fix the error code for SSL_get_async_wait_fd()
authorMatt Caswell <matt@openssl.org>
Tue, 6 Oct 2015 12:49:16 +0000 (13:49 +0100)
committerMatt Caswell <matt@openssl.org>
Fri, 20 Nov 2015 23:34:35 +0000 (23:34 +0000)
0 is a valid file descriptor so SSL_get_async_wait_fd should instead return
-1 on error.

Reviewed-by: Rich Salz <rsalz@openssl.org>
apps/s_server.c
ssl/ssl_lib.c

index 14dd8a6..8645c6c 100644 (file)
@@ -2014,7 +2014,7 @@ static void wait_for_async(SSL *s)
     fd_set asyncfds;
 
     fd = SSL_get_async_wait_fd(s);
-    if (!fd)
+    if (fd < 0)
         return;
 
     width = fd + 1;
index 55b64bb..936e84b 100644 (file)
@@ -934,7 +934,7 @@ int SSL_waiting_for_async(SSL *s)
 int SSL_get_async_wait_fd(SSL *s)
 {
     if (!s->job)
-        return 0;
+        return -1;
 
     return ASYNC_get_wait_fd(s->job);
 }