From a248418325bb4a4405a8a3c357052e7f5991af5e Mon Sep 17 00:00:00 2001 From: Sebastian Lackner <sebastian@fds-team.de> Date: Fri, 17 Apr 2015 07:58:06 +0200 Subject: [PATCH] wbemprox/tests: Fix memory leak when tests are skipped. --- dlls/wbemprox/tests/query.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dlls/wbemprox/tests/query.c b/dlls/wbemprox/tests/query.c index 8fd027ec85a..56c97fff242 100644 --- a/dlls/wbemprox/tests/query.c +++ b/dlls/wbemprox/tests/query.c @@ -158,7 +158,7 @@ static void test_Win32_Service( IWbemServices *services ) if (hr != S_OK) { win_skip( "Win32_Service not available\n" ); - return; + goto out; } type = 0xdeadbeef; VariantInit( &state ); @@ -232,6 +232,7 @@ static void test_Win32_Service( IWbemServices *services ) ok( hr == S_OK, "got %08x\n", hr ); if (service) IWbemClassObject_Release( service ); +out: SysFreeString( empty ); SysFreeString( class ); } @@ -373,14 +374,14 @@ static void test_Win32_ComputerSystem( IWbemServices *services ) if (!compname[0] || !username[0]) { skip( "Failed to get user or computer name\n" ); - return; + goto out; } hr = IWbemServices_ExecQuery( services, wql, query, 0, NULL, &result ); if (hr != S_OK) { win_skip( "Win32_ComputerSystem not available\n" ); - return; + goto out; } hr = IEnumWbemClassObject_Next( result, 10000, 1, &service, &count ); @@ -406,6 +407,7 @@ static void test_Win32_ComputerSystem( IWbemServices *services ) IWbemClassObject_Release( service ); IEnumWbemClassObject_Release( result ); +out: SysFreeString( query ); SysFreeString( wql ); } -- GitLab