On Thu, 10 Nov 2005 06:02:57 +0100, Dustin Navea speeddymon@gmail.com wrote:
x.org
Seems there are multiple issues here. First the x.org bug was big and ugly so the rather simplistic patch was put through until what looks like some sloppy coding in the rest of X gets cleaned up.
http://www.x.org/pub/X11R6.8.2/patches/xorg-CAN-2005-2495.patch -
+ if (stuff->width > 32767 || stuff->height > 32767) + { +/* It is allowed to try and allocate a pixmap which is larger than + * 32767 in either dimension. However, all of the framebuffer code + * is buggy and does not reliably draw to such big pixmaps, basically + * because the Region data structure operates with signed shorts + * for the rectangles in it. + * + * Furthermore, several places in the X server computes the + * size in bytes of the pixmap and tries to store it in an + * integer. This integer can overflow and cause the allocated size + * to be much smaller. + * + * So, such big pixmaps are rejected here with a BadAlloc + */ +return BadAlloc;
Frankly I'm shocked. And appologies to the creator of that patch for my having made comment on the basis of what was posted here.
from http://bugs.winehq.org/show_bug.cgi?id=3573
It seems to be that WinRAR crashes after calling: ImageList_Create(16,16,ILC_COLOR32|ILC_MASK,256,2048) to create the list of icons for ListView control. Wine translates this ImageList_Create to CreateBitmapIndirect 36864x16 and then cannot handle 36864 parameter. If it is true, I think, it should be fixed in Wine. I cannot find any errors in WinRAR ImageList_Create call.
Well if that's the case there is certainly something that can be done in Wine.
It seems very odd that a simple thing like Winrar should need a 36k wide bitmap!
If this is coming up on imageList_Create there are sure to be other victims.
regards.