On Wed, Dec 17, 2003 at 03:08:03PM -0800, Mark Vojkovich wrote:
> I don't think it's as bad as you think. It looks to me like
> this comes about due to a difference in the Shm protocol. Going
> against convention, xShmPutImageReq has an unsigned value for the
> src X and Y location. All other primitive have signed values.
> I think the correct behavior is probably to clamp the source X and
> Y in ProcShmPutImage function to the unsigned 15 bit coordinate
> system. Can somebody try that to see if it fixes the problem?
Yup. This fixes it. Just committed.
Alan.
Index: shm.c
===================================================================
RCS file: /X11R6/x-cvs/xc/programs/Xserver/Xext/shm.c,v
retrieving revision 3.40
diff -u -r3.40 shm.c
--- shm.c 17 Nov 2003 22:20:27 -0000 3.40
+++ shm.c 17 Dec 2003 23:20:06 -0000
@@ -815,6 +815,8 @@
REQUEST_SIZE_MATCH(xShmPutImageReq);
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, pGC, client);
VERIFY_SHMPTR(stuff->shmseg, stuff->offset, FALSE, shmdesc, client);
+ if (stuff->srcX > 32767 || stuff->srcY > 32767)
+ return BadValue;
if ((stuff->sendEvent != xTrue) && (stuff->sendEvent != xFalse))
return BadValue;
if (stuff->format == XYBitmap)
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel