From 0483a5a38089217868401fb9fe5e9885cddebcc6 Mon Sep 17 00:00:00 2001 From: Serge Gautherie <32623169+SergeGautherie@users.noreply.github.com> Date: Wed, 30 Jan 2019 00:43:13 +0100 Subject: [PATCH] [NTOS:OB] Correctly check SeSinglePrivilegeCheck() return value (#1323) SeSinglePrivilegeCheck() returns a BOOLEAN, not a NTSTATUS. CORE-14271 --- ntoskrnl/ob/oblife.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ntoskrnl/ob/oblife.c b/ntoskrnl/ob/oblife.c index 6cc1403e631..d649b0f0492 100644 --- a/ntoskrnl/ob/oblife.c +++ b/ntoskrnl/ob/oblife.c @@ -1427,9 +1427,10 @@ NtMakePermanentObject(IN HANDLE ObjectHandle) PAGED_CODE(); /* Make sure that the caller has SeCreatePermanentPrivilege */ - Status = SeSinglePrivilegeCheck(SeCreatePermanentPrivilege, - PreviousMode); - if (!NT_SUCCESS(Status)) return STATUS_PRIVILEGE_NOT_HELD; + if (!SeSinglePrivilegeCheck(SeCreatePermanentPrivilege, PreviousMode)) + { + return STATUS_PRIVILEGE_NOT_HELD; + } /* Reference the object */ Status = ObReferenceObjectByHandle(ObjectHandle,