http://bugs.winehq.org/show_bug.cgi?id=6827
Summary: The SimSig installer crashes Product: Wine Version: CVS Platform: PC URL: http://www.simsig.co.uk/html/downloads.html OS/Version: Linux Status: NEW Keywords: download, Installer Severity: normal Priority: P2 Component: wine-shell32 AssignedTo: wine-bugs@winehq.org ReportedBy: fgouget@codeweavers.com
The installer crashes in SHGetFileInfoW():
000d:Call shell32.SHGetFileInfoA(0045eae8,00000010,0034fcec,00000160,00001010) ret=0045e9f6 000d:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7e8871b2 000d:trace:seh:raise_exception info[0]=00000000 000d:trace:seh:raise_exception info[1]=00000000
More precisely the crash happens on this line: hr = IShellFolder_GetUIObjectOf(psfParent, 0, 1, (LPCITEMIDLIST*)&pidlLast, &IID_IExtractIconW, &uDummy, (LPVOID*)&pei);
And the reason is that psfParent is NULL. psfParent is initialized a bit above, but only if SHGetFileInfoW() was given a PIDL and SHGFI_USEFILEATTRIBUTES was not used. This means that whenever a 'real path' or SHGFI_USEFILEATTRIBUTES is used in combination with SHGFI_DISPLAYNAME, SHGFI_ICONLOCATION, SHGFI_ICON or SHGFI_SYSICONINDEX, then SHGetFileInfoW() will crash.
However we cannot just create a pidl since the 'real path' will usually refer to a nonexistent file or directory (in our case it is 'c:\directory' so it's clear the installer just wants to know what's the icon for a standard directory).
Any idea?
Wine was built from today's Git but I suspect this issue has been present for a long time.