[Bug 4571] Ripp-It_AM app crashes after clicking "Re-encoder un film" button (SetSysColors needs SEH to protect against bad behaving apps)

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Apr 29 11:01:13 CDT 2011


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|source                      |
                 CC|                            |focht at gmx.net
            Summary|user32:Windows program      |Ripp-It_AM app crashes
                   |crashes (in                 |after clicking "Re-encoder
                   |user/sysparams.c) after     |un film" button
                   |clic a button               |(SetSysColors needs SEH to
                   |                            |protect against bad
                   |                            |behaving apps)

--- Comment #10 from Anastasius Focht <focht at gmx.net> 2011-04-29 11:01:11 CDT ---
Hello,

still present.

http://www.ripp-it.org/miroir/9NAlGWshqGWtXVE61d6R5x8VraT1SM/RI4M_v501d_setup.exe

$ wine --version
wine-1.3.18-312-ge594268

$ sha1sum RI4M_v501d_setup.exe
d53ad0d7bfad8aef4c2e0060a1cfec41832f582a  RI4M_v501d_setup.exe

The app is wrapped with PE protection:

--- snip ---
Scanning -> H:\.wine\drive_c\Program Files\Ripp-it_AM\Ripp-it_AM.exe
File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 7494782 (0725C7Eh)
Byte(s)
[File Heuristics] -> Flag : 00000000000000011100000000100011 (0x0001C023)
[!] Yoda's Crypter v1.3 detected !
[CompilerDetect] -> Visual C++ 6.0
- Scan Took : 0.383 Second(s)
--- snip ---

Trace log of crash:

--- snip ---
...
0021:Call user32.GetSystemMetrics(00000000) ret=004062d3
0021:Ret  user32.GetSystemMetrics() retval=00000690 ret=004062d3
0021:Call user32.GetSystemMetrics(00000001) ret=004062ea
0021:Ret  user32.GetSystemMetrics() retval=0000041a ret=004062ea
0021:Call user32.SetSysColors(00000001,00000011,00ffffff) ret=00423ccc
0021:trace:seh:raise_exception code=c0000005 flags=0 addr=0x200a94df
ip=200a94df tid=0021
0021:trace:seh:raise_exception  info[0]=00000000
0021:trace:seh:raise_exception  info[1]=00ffffff
0021:trace:seh:raise_exception  eax=00ffffff ebx=200e4ff4 ecx=00000000
edx=0000000c esi=0032d220 edi=0032d19c
0021:trace:seh:raise_exception  ebp=0032d188 esp=0032d150 cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00010206
0021:trace:seh:call_vectored_handlers calling handler at 0x263966fe
code=c0000005 flags=0
0021:trace:seh:call_vectored_handlers handler at 0x263966fe returned 0
0021:trace:seh:call_stack_handlers calling handler at 0x4b7f5c code=c0000005
flags=0 
...
wine: Unhandled page fault on read access to 0x00ffffff at address 0x200a94df
(thread 0021), starting debugger...
...
--- snip ---

The function args are hard coded so this looks like a stupid application bug.

--- snip ---
0x00423cbd: pushl    $0xffffff
0x00423cc2: pushl    $0x11
0x00423cc4: pushl    $0x1
0x00423cc6: call    *0x4be2a0 -> 0x6ec634bb SetSysColors
[/opt/projects/wine/wine-git/dlls/user32/sysparams.c:2927] in user32
--- snip ---

Wrapping SetSysColors() in SEH and returning appropriate error code will
probably fix this sloppyness.

Tidebit: that app tries to map a folder containing dlls to "c:" drive using
(non present) "subst" tool. Though that failure seems harmless.

--- snip ---
0009:trace:process:create_process_impl app (null) cmdline L"subst C:
\"C:\\PROG~FBU\\RIPP~YJ2\\dlls\""
0009:trace:process:find_exe_file looking for L"subst"
0009:trace:process:find_exe_file looking for L"subst C:"
0009:trace:process:find_exe_file looking for L"subst C:
\"C:\\PROG~FBU\\RIPP~YJ2\\dlls\""
0009:trace:process:create_process_impl starting
L"C:\\windows\\system32\\subst.exe" as 32-bit Winelib app
0021:trace:process:init_current_directory starting in L"C:\\Program
Files\\Ripp-it_AM\\" 0x18
0021:trace:process:__wine_kernel_init starting process
name=L"C:\\windows\\system32\\subst.exe" argv[0]=L"subst"
wine: cannot find L"C:\\windows\\system32\\subst.exe"
--- snip ---

Regards

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