[Bug 8356] New: DVDFab Platinum crashes due to bug in Activation contexts (CreateActCtxA)

Wine Bugs wine-bugs at winehq.org
Thu May 10 13:32:10 CDT 2007


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

           Summary: DVDFab Platinum crashes due to bug in Activation
                    contexts (CreateActCtxA)
           Product: Wine
           Version: CVS
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: major
          Priority: P4
         Component: wine-kernel
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: focht at gmx.net


Hello,

as it says ... crashes due to bug in CreateActCtxA() due to wrong evaluation of
 pointer vs. resource index in ACTCTX_FLAG_RESOURCE_NAME_VALID flag case.

--- snip ---
002c:Call KERNEL32.CreateActCtxA(0034f608) ret=006d535a
trace:actctx:CreateActCtxA 0x34f608 00000088
trace:seh:raise_exception code=c0000005 flags=0 addr=0x60194473
trace:seh:raise_exception  info[0]=00000000
trace:seh:raise_exception  info[1]=000003e8
trace:seh:raise_exception  eax=000003e8 ebx=7b8ab884 ecx=00000000 edx=000003e8
esi=00000000 edi=ffffffff
trace:seh:raise_exception  ebp=0034f508 esp=0034f4cc cs=0073 ds=007b es=007b
fs=0033 gs=003b flags=00210246
trace:seh:call_stack_handlers calling handler at 0x73358a code=c0000005 flags=0 
...
--- snip ---

Offending code:

--- snip dlls/kernel32/actctx.c ---
HANDLE WINAPI CreateActCtxA(PCACTCTXA pActCtx)
{
  ...
  if (actw.dwFlags & ACTCTX_FLAG_RESOURCE_NAME_VALID)
    {
        if (!((ULONG_PTR)pActCtx->lpResourceName >> 16))
        { 
              len = MultiByteToWideChar(CP_ACP, 0, pActCtx->lpResourceName, -1,
NULL, 0);  /* boom */
   ...
}

--- snip dlls/kernel32/actctx.c ---

Fix: remove the negation. It evaluates already != 0 if pointer value (highword set).

--- snip dlls/kernel32/actctx.c ---
HANDLE WINAPI CreateActCtxA(PCACTCTXA pActCtx)
{
  ...
  if (actw.dwFlags & ACTCTX_FLAG_RESOURCE_NAME_VALID)
    {
        if (((ULONG_PTR)pActCtx->lpResourceName >> 16))
        { 
   ...
}

--- snip dlls/kernel32/actctx.c ---

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list