Commit 463082be authored by Gisle Vanem's avatar Gisle Vanem Committed by Daniel Stenberg
Browse files

ntlm: fix memory leak

Running tests\libtest\libntlmconnect.exe reveals a 1 byte (!) leak in
./lib/curl_ntlm_msgs.c:

perl ..\memanalyze.pl c:memdebug.curl
Leak detected: memory still allocated: 1 bytes
At 9771e8, there's 1 bytes.
allocated by curl_ntlm_msgs.c:399

Snippet from curl_ntlm_msgs.c:
   /* setup ntlm identity's domain and length */
   dup_domain.tchar_ptr = malloc(sizeof(TCHAR) * (domlen + 1));

(my domlen == 0).

'dup_domain.tbyte_ptr' looks to be freed in Curl_ntlm_sspi_cleanup() via
'ntlm->identity.Domain'. But I see no freeing of 'dup_domain.tchar_ptr'.
parent 72688317
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -405,6 +405,7 @@ CURLcode Curl_ntlm_create_type1_message(const char *userp,
    *(dup_domain.tchar_ptr + domlen) = TEXT('\0');
    ntlm->identity.Domain = dup_domain.tbyte_ptr;
    ntlm->identity.DomainLength = curlx_uztoul(domlen);
    free(dup_domain.tchar_ptr);
    dup_domain.tchar_ptr = NULL;

    Curl_unicodefree(useranddomain.tchar_ptr);