]> granicus.if.org Git - mutt/commitdiff
Check for SSL_CTX_new returning NULL in ssl_sock_open(). (closes #3831)
authorKevin McCarthy <kevin@8t8.us>
Mon, 11 Apr 2016 02:10:17 +0000 (19:10 -0700)
committerKevin McCarthy <kevin@8t8.us>
Mon, 11 Apr 2016 02:10:17 +0000 (19:10 -0700)
Thanks to Yuan Kang and the security researchers at Columbia
University and the University of Virginia for reporting the bug.

mutt_ssl.c

index a6cdd10f011468de514f777509282354843f7819..da5efa8baa26d841a73633289eea947180bf0d91 100644 (file)
@@ -334,7 +334,11 @@ static int ssl_socket_open (CONNECTION * conn)
   data = (sslsockdata *) safe_calloc (1, sizeof (sslsockdata));
   conn->sockdata = data;
 
-  data->ctx = SSL_CTX_new (SSLv23_client_method ());
+  if (! (data->ctx = SSL_CTX_new (SSLv23_client_method ())))
+  {
+    mutt_socket_close (conn);
+    return -1;
+  }
 
   /* disable SSL protocols as needed */
   if (!option(OPTTLSV1))