[Bug 8072] Media Player Classic segfaults

Wine Bugs wine-bugs at winehq.org
Mon Apr 23 09:43:07 CDT 2007


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





------- Additional Comments From focht at gmx.net  2007-23-04 09:43 -------
Created an attachment (id=5909)
 --> (http://bugs.winehq.org/attachment.cgi?id=5909&action=view)
crash analysis

Hello,

interesting callstack ... completely messed up :)

Basically the IAT entry for a specific shell32 call is invalid/not defined.

Native comdlg32 calls a specific import but due to invalid IAT entry, a
different import is called which has other arguments signature
(DllRegisterServer()).
This messes up callstack which renders crash dump unusable.

Attached is full analysis.

SHMapIDListToImageListIndexAsync() is the problematic one, it's missing from
shell32.spec.

Add the following 

--- snip dlls/shell32/shell32.spec ---
148 stdcall -noname SHMapIDListToImageListIndexAsync( ptr ptr ptr long ptr ptr
ptr ptr ptr)
--- snip dlls/shell32/shell32.spec ---

and minimal stub impl (after SHMapPIDLToSystemImageListIndex [SHELL32.77])

--- snip dlls/shell32/iconcache.c ---
HRESULT WINAPI SHMapIDListToImageListIndexAsync( IUnknown * pts, IShellFolder *
psf,
					    LPCITEMIDLIST pidl, UINT flags,
void * pfn,
					    void * pvData, void * pvHint, int *
piIndex, int * piIndexSel)
{
    /* pts is IShellTaskScheduler */
    /* pfn is PFNASYNCICONTASKBALLBACK */
    TRACE("(%p, %p, %p, %u, %p, %p, %p, %p, %p)\n", pts, psf, pidl, flags, pfn,
pvData,
					   pvHint, piIndex, piIndexSel);

    return E_FAIL;
}
--- snip dlls/shell32/iconcache.c ---

If you get more crashes, feel free to post/bug report.

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