From aa10b49c57afcdce35b167e893ce27bec07fa159 Mon Sep 17 00:00:00 2001 From: Sven Baars Date: Sun, 18 Aug 2019 13:11:26 +0200 Subject: [PATCH] ntoskrnl.exe: Don't use irp after it has been freed by IoCompleteRequest (Coverity). Signed-off-by: Sven Baars Signed-off-by: Alexandre Julliard --- dlls/ntoskrnl.exe/pnp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/ntoskrnl.exe/pnp.c b/dlls/ntoskrnl.exe/pnp.c index 30865a05dcb..03c4c401f97 100644 --- a/dlls/ntoskrnl.exe/pnp.c +++ b/dlls/ntoskrnl.exe/pnp.c @@ -725,6 +725,7 @@ static NTSTATUS WINAPI pnp_manager_device_pnp( DEVICE_OBJECT *device, IRP *irp ) { IO_STACK_LOCATION *stack = IoGetCurrentIrpStackLocation( irp ); struct root_pnp_device *root_device = device->DeviceExtension; + NTSTATUS status; TRACE("device %p, irp %p, minor function %#x.\n", device, irp, stack->MinorFunction); @@ -783,8 +784,9 @@ static NTSTATUS WINAPI pnp_manager_device_pnp( DEVICE_OBJECT *device, IRP *irp ) FIXME("Unhandled PnP request %#x.\n", stack->MinorFunction); } + status = irp->IoStatus.u.Status; IoCompleteRequest( irp, IO_NO_INCREMENT ); - return irp->IoStatus.u.Status; + return status; } static NTSTATUS WINAPI pnp_manager_driver_entry( DRIVER_OBJECT *driver, UNICODE_STRING *keypath )