Hans Leidekker : msi: Allocate token information buffer dynamically.

Alexandre Julliard julliard at winehq.org
Fri Mar 27 10:06:40 CDT 2009


Module: wine
Branch: master
Commit: 4365b34838f14c0a6908ea794429ba6e493a59d2
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4365b34838f14c0a6908ea794429ba6e493a59d2

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Mar 27 13:41:35 2009 +0100

msi: Allocate token information buffer dynamically.

---

 dlls/msi/tests/msi.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/dlls/msi/tests/msi.c b/dlls/msi/tests/msi.c
index 13afd92..c3ef72b 100644
--- a/dlls/msi/tests/msi.c
+++ b/dlls/msi/tests/msi.c
@@ -516,15 +516,19 @@ static void create_test_guid(LPSTR prodcode, LPSTR squashed)
 static void get_user_sid(LPSTR *usersid)
 {
     HANDLE token;
-    BYTE buf[1024];
     DWORD size;
     PTOKEN_USER user;
 
     OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token);
-    size = sizeof(buf);
-    GetTokenInformation(token, TokenUser, buf, size, &size);
-    user = (PTOKEN_USER)buf;
+
+    size = 0;
+    GetTokenInformation(token, TokenUser, NULL, size, &size);
+    user = HeapAlloc(GetProcessHeap(), 0, size);
+
+    GetTokenInformation(token, TokenUser, user, size, &size);
     pConvertSidToStringSidA(user->User.Sid, usersid);
+
+    HeapFree(GetProcessHeap(), 0, user);
     CloseHandle(token);
 }
 




More information about the wine-cvs mailing list