diff --git a/reactos/ntoskrnl/io/iomgr/driver.c b/reactos/ntoskrnl/io/iomgr/driver.c index be0a0b2df43..e72691c5ccb 100644 --- a/reactos/ntoskrnl/io/iomgr/driver.c +++ b/reactos/ntoskrnl/io/iomgr/driver.c @@ -899,7 +899,10 @@ IopInitializeBuiltinDriver(IN PLDR_DATA_TABLE_ENTRY BootLdrEntry) InbvIndicateProgress(); Buffer = ExAllocatePool(PagedPool, ModuleName->Length + sizeof(UNICODE_NULL)); - ASSERT(Buffer); + if (Buffer == NULL) + { + return STATUS_INSUFFICIENT_RESOURCES; + } RtlCopyMemory(Buffer, ModuleName->Buffer, ModuleName->Length); Buffer[ModuleName->Length / sizeof(WCHAR)] = UNICODE_NULL; diff --git a/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c b/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c index 26dd95ef92f..e32c5c34956 100644 --- a/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c +++ b/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c @@ -892,6 +892,8 @@ IopQueryDeviceCapabilities(PDEVICE_NODE DeviceNode, &DeviceCaps->UINumber, sizeof(ULONG)); } + + ZwClose(InstanceKey); } return Status; @@ -1086,7 +1088,6 @@ IopCreateDeviceNode(PDEVICE_NODE ParentNode, Status = IopCreateDeviceKeyPath(&Node->InstancePath, REG_OPTION_VOLATILE, &InstanceHandle); if (!NT_SUCCESS(Status)) { - ZwClose(InstanceHandle); ExFreePool(FullServiceName.Buffer); ExFreePoolWithTag(Node, TAG_IO_DEVNODE); return Status;