[NTOS:IO] Fix a reference leak in IopSynchronousCall on failure case

Co-authored-by: Vadim Galyant <[email protected]>
This commit is contained in:
Victor Perevertkin
2020-09-08 14:51:20 +03:00
co-authored by Vadim Galyant
parent 9bd9c9d5a4
commit 32c7c1157d
+5 -1
View File
@@ -563,7 +563,11 @@ IopSynchronousCall(IN PDEVICE_OBJECT DeviceObject,
/* Allocate an IRP */
Irp = IoAllocateIrp(TopDeviceObject->StackSize, FALSE);
if (!Irp) return STATUS_INSUFFICIENT_RESOURCES;
if (!Irp)
{
ObDereferenceObject(TopDeviceObject);
return STATUS_INSUFFICIENT_RESOURCES;
}
/* Initialize to failure */
Irp->IoStatus.Status = IoStatusBlock.Status = STATUS_NOT_SUPPORTED;