winhttp: Avoid leaking authinfo on error (Coverity).

This commit is contained in:
Marcus Meissner 2014-04-17 08:43:14 +02:00 committed by Alexandre Julliard
parent ccefbee73b
commit 0fe44e1be6

View File

@ -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;