winhttp: Avoid leaking authinfo on error (Coverity).
This commit is contained in:
parent
ccefbee73b
commit
0fe44e1be6
@ -1628,7 +1628,11 @@ static BOOL do_authorization( request_t *request, DWORD target, DWORD scheme_fla
|
|||||||
{
|
{
|
||||||
int len = strlenW( ++p );
|
int len = strlenW( ++p );
|
||||||
in.cbBuffer = decode_base64( p, len, NULL );
|
in.cbBuffer = decode_base64( p, len, NULL );
|
||||||
if (!(in.pvBuffer = heap_alloc( in.cbBuffer ))) return FALSE;
|
if (!(in.pvBuffer = heap_alloc( in.cbBuffer ))) {
|
||||||
|
destroy_authinfo( authinfo );
|
||||||
|
*auth_ptr = NULL;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
decode_base64( p, len, in.pvBuffer );
|
decode_base64( p, len, in.pvBuffer );
|
||||||
}
|
}
|
||||||
out.BufferType = SECBUFFER_TOKEN;
|
out.BufferType = SECBUFFER_TOKEN;
|
||||||
@ -1636,6 +1640,8 @@ static BOOL do_authorization( request_t *request, DWORD target, DWORD scheme_fla
|
|||||||
if (!(out.pvBuffer = heap_alloc( authinfo->max_token )))
|
if (!(out.pvBuffer = heap_alloc( authinfo->max_token )))
|
||||||
{
|
{
|
||||||
heap_free( in.pvBuffer );
|
heap_free( in.pvBuffer );
|
||||||
|
destroy_authinfo( authinfo );
|
||||||
|
*auth_ptr = NULL;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
out_desc.ulVersion = 0;
|
out_desc.ulVersion = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user