secur32: Fix memory leaks in ntlm_InitializeSecurityContextW.

oldstable
Rob Shearman 2009-12-29 19:06:23 +00:00 committed by Alexandre Julliard
parent 693433a3f2
commit 1346834605
1 changed files with 4 additions and 0 deletions

View File

@ -549,6 +549,7 @@ static SECURITY_STATUS SEC_ENTRY ntlm_InitializeSecurityContextW(
goto isc_end;
}
username = ntlm_GetUsernameArg(ui->wkui1_username, -1);
NetApiBufferFree(ui);
TRACE("using cached credentials\n");
@ -820,6 +821,7 @@ static SECURITY_STATUS SEC_ENTRY ntlm_InitializeSecurityContextW(
ret = SEC_E_BUFFER_TOO_SMALL;
if ((phContext == NULL) && (pInput == NULL))
{
HeapFree(GetProcessHeap(), 0, helper->session_key);
cleanup_helper(helper);
phNewContext->dwUpper = 0;
phNewContext->dwLower = 0;
@ -838,6 +840,7 @@ static SECURITY_STATUS SEC_ENTRY ntlm_InitializeSecurityContextW(
ret = SEC_E_BUFFER_TOO_SMALL;
if ((phContext == NULL) && (pInput == NULL))
{
HeapFree(GetProcessHeap(), 0, helper->session_key);
cleanup_helper(helper);
phNewContext->dwUpper = 0;
phNewContext->dwLower = 0;
@ -851,6 +854,7 @@ static SECURITY_STATUS SEC_ENTRY ntlm_InitializeSecurityContextW(
ret = SEC_E_INTERNAL_ERROR;
if ((phContext == NULL) && (pInput == NULL))
{
HeapFree(GetProcessHeap(), 0, helper->session_key);
cleanup_helper(helper);
phNewContext->dwUpper = 0;
phNewContext->dwLower = 0;