Module: wine Branch: master Commit: 007833f1302dff64dcdf1c58332b2f086eef5dd3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=007833f1302dff64dcdf1c5833...
Author: Christoph von Wittich Christoph@ApiViewer.de Date: Sun Jan 20 17:58:40 2008 +0100
msi: Fix process token leak.
---
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; }