diff --git a/ChangeLog b/ChangeLog index 3ca37b0aa..9626b9956 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-05-26 Matthieu Herrb + + * hw/xfree86/os-support/bsd/bsd_mouse.c: + check buffersize before reading next char, fixes the + "mouse stuck at left" bug (bugzilla #3113) for BSD systems using + wscons. (Dale Rahn). + 2006-05-25 Jeremy C. Reed * doc/Xserver.man.pre: diff --git a/hw/xfree86/os-support/bsd/bsd_mouse.c b/hw/xfree86/os-support/bsd/bsd_mouse.c index 9c8e6699e..f54c7d7a5 100644 --- a/hw/xfree86/os-support/bsd/bsd_mouse.c +++ b/hw/xfree86/os-support/bsd/bsd_mouse.c @@ -401,7 +401,7 @@ wsconsReadInput(InputInfoPtr pInfo) XisbBlockDuration(pMse->buffer, -1); pBuf = (unsigned char *)eventList; n = 0; - while ((c = XisbRead(pMse->buffer)) >= 0 && n < sizeof(eventList)) { + while (n < sizeof(eventList) && (c = XisbRead(pMse->buffer)) >= 0) { pBuf[n++] = (unsigned char)c; }