Don't let cabinet Extract() crash IE

Stefan Leichter Stefan.Leichter at camLine.com
Tue Jan 6 11:59:42 CST 2004


Am Freitag, 2. Januar 2004 17:28 schrieb Mike Hearn:
> Hi Stefan,
>
> The attached patch is necessary for IE installer to work again. It seems
> the magic value is not always correct: advpack derefs this value so it
> probably points to a struct. I'll try and find out what it contains when
> using the native DLL (if anything).
>
> It seems to be optional, making it 0 allows IE to continue.
>
Hi Mike,
your are right. Its a pointer to a structure. 

By running native cabinet.dll i found that the dll allocates two memory areas 
per file inside the cabinet that are not freed within the extract function. 
The first memory area is always 12 bytes. The size of the second one is the 
length of the filename without path plus 1.

The pointer points to a structure like this:

struct ExtractFileList {
	LPSTR  filename;
	struct ExtractFileList *next;
	DWORD  unknown;  // always 1L
} ;

Did your start modifying/fixing the extract function for this item? If not i 
will do it.

Bye Stefan




More information about the wine-devel mailing list