From: Daniel Stenberg Date: Wed, 5 Jan 2011 23:47:37 +0000 (+0100) Subject: gtls: fix memory leak X-Git-Tag: curl-7_21_4~77 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a9cd4f4ed49e1a0;p=thirdparty%2Fcurl.git gtls: fix memory leak Bug: http://curl.haxx.se/mail/lib-2011-01/0079.html Reported by: Quinn Slack --- diff --git a/lib/gtls.c b/lib/gtls.c index 804f784465..9a87c39a8d 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; }