From f1fa7b8ba469d9b8681e30f107b44004695b32e9 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sun, 29 Jul 2007 12:54:05 +0000 Subject: Bug report #1759542 (http://curl.haxx.se/bug/view.cgi?id=1759542). A bad use of a socket after it has been closed, when the FTP-SSL data connection is taken down. --- lib/gtls.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'lib/gtls.c') diff --git a/lib/gtls.c b/lib/gtls.c index 23c2a28b4..03572d88e 100644 --- a/lib/gtls.c +++ b/lib/gtls.c @@ -556,17 +556,17 @@ static void close_one(struct connectdata *conn, if(conn->ssl[index].session) { gnutls_bye(conn->ssl[index].session, GNUTLS_SHUT_RDWR); gnutls_deinit(conn->ssl[index].session); + conn->ssl[index].session = NULL; } - if(conn->ssl[index].cred) + if(conn->ssl[index].cred) { gnutls_certificate_free_credentials(conn->ssl[index].cred); + conn->ssl[index].cred = NULL; + } } -void Curl_gtls_close(struct connectdata *conn) +void Curl_gtls_close(struct connectdata *conn, int sockindex) { - if(conn->ssl[0].use) - close_one(conn, 0); - if(conn->ssl[1].use) - close_one(conn, 1); + close_one(conn, sockindex); } /* @@ -631,8 +631,8 @@ int Curl_gtls_shutdown(struct connectdata *conn, int sockindex) } gnutls_certificate_free_credentials(conn->ssl[sockindex].cred); + conn->ssl[sockindex].cred = NULL; conn->ssl[sockindex].session = NULL; - conn->ssl[sockindex].use = FALSE; return retval; } -- cgit v1.2.3