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/key…
==============================================================================
--- 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/mou…
==============================================================================
--- 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;
}