[3/3] msi: Allocate token information buffer dynamically.

Hans Leidekker hans at codeweavers.com
Fri Mar 27 07:41:35 CDT 2009


diff --git a/dlls/msi/tests/msi.c b/dlls/msi/tests/msi.c
index 71ca6a6..e070cd8 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-patches mailing list