[PATCH] ole32: fixed 3 handle leaks (Coverity)

Marcus Meissner marcus at jet.franken.de
Sun Jun 9 13:53:22 CDT 2013


 1030106 Resource leak
 1030105 Resource leak
 1030104 Resource leak
---
 dlls/ole32/tests/ole_server.c |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/dlls/ole32/tests/ole_server.c b/dlls/ole32/tests/ole_server.c
index 303ec35..140cb3b 100644
--- a/dlls/ole32/tests/ole_server.c
+++ b/dlls/ole32/tests/ole_server.c
@@ -389,6 +389,9 @@ START_TEST(ole_server)
         if (!lstrcmpi(argv[2], "-Embedding"))
         {
             trace("server: Refusing to be run by ole32\n");
+            CloseHandle(mapping);
+            CloseHandle(init_done_event);
+            CloseHandle(done_event);
             return;
         }
 
@@ -397,22 +400,34 @@ START_TEST(ole_server)
             info->child_failures = 0;
             ole_server();
             info->child_failures = winetest_get_failures();
+            CloseHandle(mapping);
+            CloseHandle(init_done_event);
+            CloseHandle(done_event);
             return;
         }
 
         trace("server: Unknown parameter: %s\n", argv[2]);
+        CloseHandle(mapping);
+        CloseHandle(init_done_event);
+        CloseHandle(done_event);
         return;
     }
 
     if (!register_server(argv[0]))
     {
         win_skip("not enough permissions to create a server CLSID key\n");
+        CloseHandle(mapping);
+        CloseHandle(init_done_event);
+        CloseHandle(done_event);
         return;
     }
 
     if (!(process = start_server(argv[0])))
     {
         unregister_server();
+        CloseHandle(mapping);
+        CloseHandle(init_done_event);
+        CloseHandle(done_event);
         return;
     }
     WaitForSingleObject(init_done_event, 5000);
@@ -483,4 +498,7 @@ START_TEST(ole_server)
         trace("%d failures in child process\n", info->child_failures);
         winetest_add_failures(info->child_failures);
     }
+    CloseHandle(mapping);
+    CloseHandle(init_done_event);
+    CloseHandle(done_event);
 }
-- 
1.7.10.4




More information about the wine-patches mailing list