[Bug 20317] Uninitialised memory reference in SetEntriesInAclW()

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Oct 21 09:03:15 CDT 2009


http://bugs.winehq.org/show_bug.cgi?id=20317





--- Comment #3 from Rob Shearman <robertshearman at gmail.com>  2009-10-21 09:03:15 ---
I'm guessing this is Valgrind warning for the same piece of code that I
commented on when the patch was sent and not fixed:
subject    Re: advapi32: SetEntriesInAclW() should accept account name
"CURRENT_USER".
mailed-by    gmail.com

hide details 18 Aug

2009/8/16 Rein Klazes <wijn at online.nl>:
> @@ -3510,7 +3511,8 @@ DWORD WINAPI SetEntriesInAclW( ULONG count, PEXPLICIT_ACCESSW pEntries,
>             DWORD sid_size = FIELD_OFFSET(SID, SubAuthority[SID_MAX_SUB_AUTHORITIES]);
>             DWORD domain_size = MAX_COMPUTERNAME_LENGTH + 1;
>             SID_NAME_USE use;
> -            if (!LookupAccountNameW(NULL, pEntries[i].Trustee.ptstrName, ppsid[i], &sid_size, NULL, &domain_size, &use))
> +            if ( strcmpW( pEntries[i].Trustee.ptstrName, CURRENT_USER ) &&

What will the memory pointed to by ppsid[i] be set to in this case?
Hint: whatever the memory was last used for, not the SID of the
current user which is what is desired.

> +                    !LookupAccountNameW(NULL, pEntries[i].Trustee.ptstrName, ppsid[i], &sid_size, NULL, &domain_size, &use))
>             {
>                 WARN("bad user name %s for trustee %d\n", debugstr_w(pEntries[i].Trustee.ptstrName), i);
>                 ret = ERROR_INVALID_PARAMETER;

"git revert b46e2ef9b1d1349d4caf7f7a31ea1b6c348875ca" should also fix the issue
if the original author doesn't want to fix the code.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list