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