commit 835e6c52c763ed9cdce1899f6850ada55965ff09
parent c60a0d6679012a74fecb5783771a47f794bb5bb8
Author: Christian Grothoff <christian@grothoff.org>
Date: Fri, 20 May 2011 20:12:36 +0000
Fixing 1668
Diffstat:
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/testcurl/https/tls_session_time_out_test.c b/src/testcurl/https/tls_session_time_out_test.c
@@ -68,6 +68,7 @@ test_tls_session_time_out (gnutls_session_t session)
ret = gnutls_handshake (session);
if (ret < 0)
{
+ fprintf (stderr, "Handshake failed\n");
return -1;
}
@@ -77,6 +78,7 @@ test_tls_session_time_out (gnutls_session_t session)
/* TODO better RST trigger */
if (send (sd, "", 1, 0) == 0)
{
+ fprintf (stderr, "Connection failed to time-out\n");
return -1;
}
@@ -111,7 +113,11 @@ main (int argc, char *const *argv)
return -1;
}
- setup_session (&session, &key, &cert, &xcred);
+ if (0 != setup_session (&session, &key, &cert, &xcred))
+ {
+ fprintf (stderr, "failed to setup session\n");
+ return 1;
+ }
errorCount += test_tls_session_time_out (session);
teardown_session (session, &key, &cert, xcred);
diff --git a/src/testcurl/https/tls_test_common.c b/src/testcurl/https/tls_test_common.c
@@ -374,6 +374,7 @@ setup_session (gnutls_session_t * session,
key->data = malloc (key->size);
if (key->data == NULL)
{
+ gnutls_certificate_free_credentials (*xcred);
return -1;
}
memcpy (key->data, srv_key_pem, key->size);
@@ -381,6 +382,7 @@ setup_session (gnutls_session_t * session,
cert->data = malloc (cert->size);
if (cert->data == NULL)
{
+ gnutls_certificate_free_credentials (*xcred);
free (key->data);
return -1;
}
@@ -392,12 +394,14 @@ setup_session (gnutls_session_t * session,
"NORMAL", &err_pos);
if (ret < 0)
{
+ gnutls_deinit (*session);
+ gnutls_certificate_free_credentials (*xcred);
free (key->data);
return -1;
}
gnutls_credentials_set (*session,
GNUTLS_CRD_CERTIFICATE,
- xcred);
+ *xcred);
return 0;
}