ntdll: Fix NtQueryInformationToken(TokenGroups)

Dan Kegel dank at kegel.com
Tue May 2 00:13:54 CDT 2006

Rob wrote:
>Fix the buffer check for NtQueryInformationToken(TokenGroups) so that it
>doesn't return STATUS_BUFFER_TOO_SMALL when it shouldn't. Use the same
>code for returning the required buffer and for calculating whether the
>buffer is sufficient so this can't happen again.

Sadly, this doesn't seem to fix mdac installation.  I still need my
Magic Kludge:
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -203,7 +203,7 @@ NTSTATUS WINAPI NtQueryInformationToken(
     switch (tokeninfoclass)
     case TokenGroups:
-        len = sizeof(TOKEN_GROUPS);
+        len = sizeof(TOKEN_GROUPS) + 400 /* WAG */;
     case TokenOwner:
         len = sizeof(TOKEN_OWNER) + sizeof(SID);

Have you tested with mdac-2.7's installer?  It seems to tickle a path
you're not checking.
- Dan

Wine for Windows ISVs: http://kegel.com/wine/isv

More information about the wine-devel mailing list