[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