libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit 835e6c52c763ed9cdce1899f6850ada55965ff09
parent c60a0d6679012a74fecb5783771a47f794bb5bb8
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri, 20 May 2011 20:12:36 +0000

Fixing 1668

Diffstat:
Msrc/testcurl/https/tls_session_time_out_test.c | 8+++++++-
Msrc/testcurl/https/tls_test_common.c | 6+++++-
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; }