From: Stefan Bühler Date: Thu, 12 Nov 2015 10:10:32 +0000 (+0100) Subject: sasl_sspi: fix identity memory leak in digest authentication X-Git-Tag: curl-7_46_0~76 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=077fd8f1fa873337b99845805273e11cf968b498;p=thirdparty%2Fcurl.git sasl_sspi: fix identity memory leak in digest authentication --- diff --git a/lib/curl_sasl_sspi.c b/lib/curl_sasl_sspi.c index 84fce9f24a..6fb7b5f520 100644 --- a/lib/curl_sasl_sspi.c +++ b/lib/curl_sasl_sspi.c @@ -463,6 +463,7 @@ CURLcode Curl_sasl_create_digest_http_message(struct SessionHandle *data, p_identity, NULL, NULL, &credentials, &expiry); if(status != SEC_E_OK) { + Curl_sspi_free_identity(p_identity); free(output_token); return CURLE_LOGIN_DENIED; @@ -492,6 +493,7 @@ CURLcode Curl_sasl_create_digest_http_message(struct SessionHandle *data, spn = Curl_convert_UTF8_to_tchar((char *) uripath); if(!spn) { + Curl_sspi_free_identity(p_identity); free(output_token); return CURLE_OUT_OF_MEMORY; @@ -511,6 +513,7 @@ CURLcode Curl_sasl_create_digest_http_message(struct SessionHandle *data, else if(status != SEC_E_OK && status != SEC_I_CONTINUE_NEEDED) { s_pSecFn->FreeCredentialsHandle(&credentials); + Curl_sspi_free_identity(p_identity); free(output_token); return CURLE_OUT_OF_MEMORY; @@ -521,6 +524,7 @@ CURLcode Curl_sasl_create_digest_http_message(struct SessionHandle *data, s_pSecFn->DeleteSecurityContext(&context); s_pSecFn->FreeCredentialsHandle(&credentials); + Curl_sspi_free_identity(p_identity); free(output_token); return CURLE_OUT_OF_MEMORY;