]> granicus.if.org Git - neomutt/commitdiff
gnutls: catch gnutls_init failures
authorBrendan Cully <brendan@kublai.com>
Mon, 30 Apr 2012 05:15:19 +0000 (22:15 -0700)
committerBrendan Cully <brendan@kublai.com>
Mon, 30 Apr 2012 05:15:19 +0000 (22:15 -0700)
I haven't actually experienced these, but it seems like a good idea.

mutt_ssl_gnutls.c

index 2f2d0814693a8cb6351fff7b972dc2f439fe1f41..d670c4338cef9bfbf29d99992aaaa33724e3c61c 100644 (file)
@@ -281,7 +281,12 @@ static int tls_negotiate (CONNECTION * conn)
   gnutls_certificate_set_verify_flags(data->xcred, GNUTLS_VERIFY_DISABLE_TIME_CHECKS);
 #endif
 
-  gnutls_init(&data->state, GNUTLS_CLIENT);
+  if ((err = gnutls_init(&data->state, GNUTLS_CLIENT)))
+  {
+    mutt_error ("gnutls_handshake: %s", gnutls_strerror(err));
+    mutt_sleep (2);
+    goto fail;
+  }
 
   /* set socket */
   gnutls_transport_set_ptr (data->state, (gnutls_transport_ptr)conn->fd);