From 8751ae5a8b714170251ec45855b9de0ad23f9d1d Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Fri, 4 Sep 2015 21:30:16 +0000 Subject: [PATCH] [NTOS:WMI][HAL] - Properly stub WmipShutdown and HalpDispatchPower to avoid IRP leaks CORE-10105 svn path=/trunk/; revision=69013 --- reactos/hal/halx86/legacy/halpnpdd.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/reactos/hal/halx86/legacy/halpnpdd.c b/reactos/hal/halx86/legacy/halpnpdd.c index c6eb8135750..97eade152d7 100644 --- a/reactos/hal/halx86/legacy/halpnpdd.c +++ b/reactos/hal/halx86/legacy/halpnpdd.c @@ -820,8 +820,23 @@ NTAPI HalpDispatchPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) { + PFDO_EXTENSION FdoExtension; + DPRINT1("HAL: PnP Driver Power!\n"); - return STATUS_SUCCESS; + FdoExtension = DeviceObject->DeviceExtension; + if (FdoExtension->ExtensionType == FdoExtensionType) + { + PoStartNextPowerIrp(Irp); + IoSkipCurrentIrpStackLocation(Irp); + return PoCallDriver(FdoExtension->AttachedDeviceObject, Irp); + } + else + { + PoStartNextPowerIrp(Irp); + Irp->IoStatus.Status = STATUS_SUCCESS; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_SUCCESS; + } } NTSTATUS