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