From c38aab293a06f43c04f14223f94f822d91d73396 Mon Sep 17 00:00:00 2001 From: Matthieu Herrb Date: Sat, 27 May 2006 23:15:05 +0000 Subject: [PATCH] check buffersize before reading next char, fixes the "mouse stuck at left" bug (bugzilla #3113) for BSD systems using wscons. (Dale Rahn). --- ChangeLog | 7 +++++++ hw/xfree86/os-support/bsd/bsd_mouse.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) 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; }