From df370f3ad807ca0dc869ca3815e00b5482fddb2f Mon Sep 17 00:00:00 2001 From: Odd Stranne Date: Wed, 2 Jun 2021 10:45:47 +0200 Subject: [PATCH] Add back missing call to procregistry::DeleteEntry() --- src/procmgmt/procmgmt.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/procmgmt/procmgmt.cpp b/src/procmgmt/procmgmt.cpp index ec89fc2..3ccf436 100644 --- a/src/procmgmt/procmgmt.cpp +++ b/src/procmgmt/procmgmt.cpp @@ -414,9 +414,25 @@ HandleProcessDeparting WdfSpinLockAcquire(processRegistry->Lock); - NT_ASSERT(procregistry::DeleteEntry(processRegistry->Instance, registryEntry)); + const bool deleteSuccessful = procregistry::DeleteEntry(processRegistry->Instance, registryEntry); WdfSpinLockRelease(processRegistry->Lock); + + NT_ASSERT(deleteSuccessful); + + // + // This is unlikely to ever be an issue, + // but if it was, we'd want to know about it. + // + + if (!deleteSuccessful) + { + DECLARE_CONST_UNICODE_STRING(errorMessage, L"Failed in call to procregistry::DeleteEntry()"); + + auto errorEvent = eventing::BuildErrorMessageEvent(STATUS_UNSUCCESSFUL, &errorMessage); + + eventing::Emit(Context->Eventing, &errorEvent); + } } void