While attempting to run IE 5.01 I came across a few bugs in
dlls/comctl32/toolbar.c in the AddStringW function.

First of all, lstrcpyW is definitely *NOT* the function of choice, as it
basically runs a while loop that ends when it comes across a '\0'.  That's
wrong because we want it to end when we come across a '|'.  Replacing it
with a quick and dirty for loop (I suppose memcpy would work great
too) fixes a crash that occurs on the next iteration of the loop (presumably
because something important got overwritten).

Okay, so after fixing that, next problem.  256 characters is not enough for
IE 5.01.  Increase it to 512 or something.

(RANT)
*PLEASE* define the value like #define MAXRESSTRLEN 512 or something instead
of magically using it all over the place.
(/RANT)

After making the above changes, IE 5.01 finally loads without crashing
before I see a window.  Of course the toolbars still don't look quite right,
but a little better.

Finally, one more thing.  Ever since ASS, I haven't been able to load native
DLLs with IE 5.01.  Almost every other program works fine, but I get
messages that it needs to relocate the DLLs.  Now it seems very odd that
right before ASS it didn't have to relocate them, but right after it, it
does.  It also refuses to load because it needs to relocate system DLLs over
> 2GB address space.  So why the heck does it need to relocate it?  What is
taking up the space where it is supposed to go???

-Dave

Reply via email to