Author: mjmartin Date: Sat Aug 28 23:23:43 2010 New Revision: 48635
URL: http://svn.reactos.org/svn/reactos?rev=48635&view=rev Log: [input/i8042prt] - Fix a check when queuing the mouse packet. Check that the buffer size (MouseInBuffer) is not greater or equal to MouseDataQueueSize. Fixes a NonPagedPool corruption that occurs when the mouse is moved before the desktop window is up and running.
Modified: trunk/reactos/drivers/input/i8042prt/mouse.c
Modified: trunk/reactos/drivers/input/i8042prt/mouse.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/i8042prt/mous... ============================================================================== --- trunk/reactos/drivers/input/i8042prt/mouse.c [iso-8859-1] (original) +++ trunk/reactos/drivers/input/i8042prt/mouse.c [iso-8859-1] Sat Aug 28 23:23:43 2010 @@ -49,7 +49,7 @@
DeviceExtension->MouseComplete = TRUE; DeviceExtension->MouseInBuffer++; - if (DeviceExtension->MouseInBuffer > DeviceExtension->Common.PortDeviceExtension->Settings.MouseDataQueueSize) + if (DeviceExtension->MouseInBuffer >= DeviceExtension->Common.PortDeviceExtension->Settings.MouseDataQueueSize) { WARN_(I8042PRT, "Mouse buffer overflow\n"); DeviceExtension->MouseInBuffer--;