Bug in ICO_ExtractIconExW

Andreas Mohr andi at rhlx01.fht-esslingen.de
Sun Feb 17 08:15:18 CST 2002


On Sun, Feb 17, 2002 at 03:01:33PM +0100, mehmet yasar wrote:
> Hi,
> 
> I have a systematic crash when browsing a folder which has a *.gz file
> inside (for example using GetOpenFileName).
> In my system, the icon of "gz" files are associated to an external "ico"
> file, I see it with --debugmsg +shell :
> 
> warn:shell:ParseFieldA ("C:\\PROGRAM
> FILES\\POWERARCHIVER\\ICONS\\GZIP.ICO",0x00000002,0x405c574c,5) semi-stub.
> 
> The crash happens in line 325 of exticon.c:
> 	RetPtr[i-nIconIndex] = LookupIconIdFromDirectoryEx( pCIDir, TRUE,
> cxDesired, cyDesired, 0);
> With Winedbg we see :
> 	i = 65386,  nIconIndex = -151, nIcons = 1 and IconDirCount = 1
> 
> It seems to be linked to this bogus test (line 314):
> 	else if( nIconIndex < iconDirCount )
> where nIconIndex(INT)=-151 and iconDirCount(UINT16)=1.
> 
> I Hope this will help finding the correct solution.
> (Odd fact : when activating +relay there is no more crash ...)
Oh no. Crashes that go away on --debugmg +relay are often caused
by parameter count mismatches (ugh !) or sometimes by missing initialization
of stack variables.
As e.g. ParseFieldA is in shellord.c (undocumented function ??),
I'd be highly alarmed of incorrectly implemented functions...

-- 
Andreas Mohr                        Stauferstr. 6, D-71272 Renningen, Germany
Tel. +49 7159 800604                http://home.nexgo.de/andi.mohr/




More information about the wine-devel mailing list