https://bugzilla.novell.com/show_bug.cgi?id=358865
User eich@novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=358865#c10
Egbert Eich changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |eich@novell.com
--- Comment #10 from Egbert Eich 2008-02-06 00:29:24 MST ---
This is the code in question:
if ((x + truewidth > pVNC->width) || truewidth != width) {
unsigned char *buffer = malloc(truewidth * height * in->bitsPerPixel /
\
8);
unsigned char *buf = buffer;
(*pScreen->GetImage)(pDraw, x, y, truewidth, height, ZPixmap, ~0,
(char\
*)buf);
while (height--) {
memcpy(optr, buf, width * in->bitsPerPixel / 8);
optr += width * in->bitsPerPixel / 8;
buf += truewidth * in->bitsPerPixel / 8;
}
free(buffer);
It looks rather unsuspicious. The value of 'height' in gdb is the height at the
time of the crash, It should be 0 because of the while loop.
I have no idea why it isn't.
The malloc checker complains because the header of the malloced area has been
overwritten.
I don't see right off hand what might have caused this.
There are some things you could try:
1. comment out the GetImage() function call.
2. comment out the memcpy()
3. add an ErrorF(">> %p %p %i\n",optr, buf, height);
4. if possible also try buidling with '-O0'.
At present I have no good idea on how to exchange things on an inst-sys. I've
done this once or twice in the distant past.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.