[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