[PATCH] remove process token leak
Marcus Meissner
marcus at jet.franken.de
Sun Jan 20 10:58:40 CST 2008
Hi,
From: Christoph von Wittich <Christoph at ApiViewer.de>
Christoph von Wittich reported this handle leak in #winehackers
and had a patch for.
Ciao, Marcus
---
dlls/msi/registry.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dlls/msi/registry.c b/dlls/msi/registry.c
index 12d2c9a..bf06d9d 100644
--- a/dlls/msi/registry.c
+++ b/dlls/msi/registry.c
@@ -478,13 +478,17 @@ static UINT get_user_sid(LPWSTR *usersid)
return ERROR_FUNCTION_FAILED;
size = sizeof(buf);
- if (!GetTokenInformation(token, TokenUser, (void *)buf, size, &size))
+ if (!GetTokenInformation(token, TokenUser, (void *)buf, size, &size)) {
+ CloseHandle(token);
return ERROR_FUNCTION_FAILED;
+ }
user = (PTOKEN_USER)buf;
- if (!ConvertSidToStringSidW(user->User.Sid, usersid))
+ if (!ConvertSidToStringSidW(user->User.Sid, usersid)) {
+ CloseHandle(token);
return ERROR_FUNCTION_FAILED;
-
+ }
+ CloseHandle(token);
return ERROR_SUCCESS;
}
--
1.5.2.4
More information about the wine-patches
mailing list