On Fri, Apr 16, 2010 at 03:41:32PM +0200, Daniel Stenberg wrote:
> On Thu, 15 Apr 2010, Jerome Vouillon wrote:
> 
> >This patch improves the GnuTLS back-end to make the SSL connection
> >phase non-blocking when the multi interface is used.
> 
> GREAT! Many thanks for this improvement. When trying it out, I
> noticed that our tests all failed when we built with GnuTLS which
> made suspect you didn't try the test suite yet? I fixed that
> particular problem, but now with your patch applied I get this:
[...]
> $ ./runtests -g 305
[...]
> Program received signal SIGSEGV, Segmentation fault.

Indeed, I made some tests but did not thought of running the test
suite.  With the attached fix, all the tests go through.

-- Jerome
>From 8a38b157d10b82d2c4888dd09d6e251aba8a9a5f Mon Sep 17 00:00:00 2001
From: Jerome Vouillon <[email protected]>
Date: Fri, 16 Apr 2010 22:03:33 +0200
Subject: [PATCH 2/2] Correctly propagate failures

---
 lib/gtls.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/gtls.c b/lib/gtls.c
index 6b09280..4f5edaf 100644
--- a/lib/gtls.c
+++ b/lib/gtls.c
@@ -682,8 +682,11 @@ gtls_connect_common(struct connectdata *conn,
   struct ssl_connect_data *connssl = &conn->ssl[sockindex];
 
   /* Initiate the connection, if not already done */
-  if(ssl_connect_1==connssl->connecting_state)
-    gtls_connect_step1 (conn, sockindex);
+  if(ssl_connect_1==connssl->connecting_state) {
+    rc = gtls_connect_step1 (conn, sockindex);
+    if(rc)
+      return rc;
+  }
 
   rc = handshake(conn, sockindex, TRUE, nonblocking);
   if(rc)
-- 
1.7.0

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to