Author: tfaber Date: Wed May 11 12:30:12 2016 New Revision: 71316
URL: http://svn.reactos.org/svn/reactos?rev=71316&view=rev Log: [I8042PRT] - Don't access device control IRPs after handing them off to a worker routine that has potentially already freed them. CORE-11229 #resolve
Modified: trunk/reactos/drivers/input/i8042prt/keyboard.c trunk/reactos/drivers/input/i8042prt/mouse.c
Modified: trunk/reactos/drivers/input/i8042prt/keyboard.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/i8042prt/keyb... ============================================================================== --- trunk/reactos/drivers/input/i8042prt/keyboard.c [iso-8859-1] (original) +++ trunk/reactos/drivers/input/i8042prt/keyboard.c [iso-8859-1] Wed May 11 12:30:12 2016 @@ -467,11 +467,11 @@ } }
- Irp->IoStatus.Status = Status; - if (Status == STATUS_PENDING) - IoMarkIrpPending(Irp); - else + if (Status != STATUS_PENDING) + { + Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IO_NO_INCREMENT); + }
return Status; } @@ -738,9 +738,11 @@ } }
- Irp->IoStatus.Status = Status; if (Status != STATUS_PENDING) + { + Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IO_NO_INCREMENT); + } return Status; }
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] Wed May 11 12:30:12 2016 @@ -544,9 +544,11 @@ } }
- Irp->IoStatus.Status = Status; if (Status != STATUS_PENDING) + { + Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IO_NO_INCREMENT); + } return Status; }