[Bug 41934] Spreaker Studio 1.4.2 fails to install

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Dec 10 08:32:15 CST 2016


https://bugs.winehq.org/show_bug.cgi?id=41934

--- Comment #2 from Sagawa <sagawa.aki+winebugs at gmail.com> ---
I can reproduce the issue. From my point of view, the installer code is very
buggy. However, it seems that this is a part of some framework (nupkg
related?), I'll try to fix somehow.

Details, please look following code snippet:

0x004022be: leal        0xfffff7e4(%ebp),%eax
0x004022c4: repe movsl  (%esi),%es:(%edi)
0x004022c6: pushl       %ebx
0x004022c7: pushl       %eax
0x004022c8: pushl       $0x1
0x004022ca: pushl       $0x4237d0 ; =
"D:PAI(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;CIIO;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;0x1301bf;;;SY)(A;OICIIO;GA;;;SY)(A;;0x1301bf;;;BA)(A;OICIIO;GA;;;BA)(A;;0x1200a9;;;BU)(A;OICIIO;GXGR;;;BU)(A;OICIIO;GA;;;CO)(A;;0x1200a9;;;AC)(A;OICIIO;GXGR;;;AC)"
0x004022cf: movsw       (%esi),%es:(%edi)
0x004022d1: call        *0x41c020 -> 0x7e9940d0
ConvertStringSecurityDescriptorToSecurityDescriptorW
[/home/obfuscated/wine-git/dlls/advapi32/security.c:4738] in advapi32
0x004022d7: movl        0xfffff7e4(%ebp),%eax
0x004022dd: movl        %eax,0xfffff7d8(%ebp)
0x004022e3: leal        0xfffff7d4(%ebp),%eax
0x004022e9: pushl       %eax
0x004022ea: leal        0xfffffdf4(%ebp),%eax
0x004022f0: movl        $0xc,0xfffff7d4(%ebp)
0x004022fa: pushl       %eax
0x004022fb: movl        %ebx,0xfffff7dc(%ebp)
0x00402301: call        *0x41c060 -> 0x7b45e3d0 CreateDirectoryW
[/home/obfuscated/wine-git/dlls/kernel32/path.c:1529] in kernel32
0x00402307: movl        0x0041c0ec,%esi
0x0040230d: testl       %eax,%eax
0x0040230f: jnz 0x0040232d
0x00402311: call        *%esi
0x00402313: cmpl        $183,%eax
0x00402318: jz  0x0040232d
0x0040231a: pushl       0xfffff7e4(%ebp)
0x00402320: call        *0x41c064 -> 0x7b446f60 LocalFree
[/home/obfuscated/wine-git/dlls/kernel32/heap.c:1022] in kernel32
0x00402326: call        *%esi
0x00402328: jmp 0x0040246f
0x0040232d: pushl       0xfffff7e4(%ebp)
0x00402333: call        *0x41c064 -> 0x7b446f60 LocalFree
[/home/obfuscated/wine-git/dlls/kernel32/heap.c:1022] in kernel32

At least, three issues are there:

1. It doesn't verify ConvertStringSecurityDescriptorToSecurityDescriptor's
return value. There is no "test %eax, %eax" code after the call. On Windows 7,
the call always fails because 'AC' isn't known SID string.

2. The next CreateDirectory call uses invalid SECURITY_DESCRIPTOR (SD) pointer
(=0xfffff7d4(%ebp)) instead of obtained SD pointer (=0xfffff7e4(%ebp)) in the
previous call.

3. On Windows 7, SD pointer isn't valid due to previous call failure. Even so,
it calls LocalFree to release memories.

-- 
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