From a9cd4f4ed49e1a0b79f8fc6a0cb129331fa04f23 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 6 Jan 2011 00:47:37 +0100 Subject: gtls: fix memory leak Bug: http://curl.haxx.se/mail/lib-2011-01/0079.html Reported by: Quinn Slack --- lib/gtls.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/gtls.c b/lib/gtls.c index 804f78446..9a87c39a8 100644 --- a/lib/gtls.c +++ b/lib/gtls.c @@ -483,6 +483,7 @@ gtls_connect_step3(struct connectdata *conn, int rc; int incache; void *ssl_sessionid; + CURLcode result = CURLE_OK; /* This function will return the peer's raw certificate (chain) as sent by the peer. These certificates are in raw format (DER encoded for @@ -701,11 +702,17 @@ gtls_connect_step3(struct connectdata *conn, } /* store this session id */ - return Curl_ssl_addsessionid(conn, connect_sessionid, connect_idsize); + result = Curl_ssl_addsessionid(conn, connect_sessionid, connect_idsize); + if(result) { + free(connect_sessionid); + result = CURLE_OUT_OF_MEMORY; + } } + else + result = CURLE_OUT_OF_MEMORY; } - return CURLE_OK; + return result; } -- cgit v1.2.3