https://git.reactos.org/?p=reactos.git;a=commitdiff;h=81789965593b254827e0f8bf7f27a72510dd8c0c

commit 81789965593b254827e0f8bf7f27a72510dd8c0c
Author:     Jérôme Gardou <[email protected]>
AuthorDate: Thu Jun 17 17:55:14 2021 +0200
Commit:     Jérôme Gardou <[email protected]>
CommitDate: Mon Jun 28 10:20:57 2021 +0200

    [NTOS:SE] Do not ignore SepAccessCheckAndAuditAlarmWorker return value
    
    CORE-17637
---
 ntoskrnl/se/audit.c | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/ntoskrnl/se/audit.c b/ntoskrnl/se/audit.c
index 9cc7c51f9f3..03604d30259 100644
--- a/ntoskrnl/se/audit.c
+++ b/ntoskrnl/se/audit.c
@@ -622,23 +622,25 @@ SepAccessCheckAndAuditAlarm(
     }
 
     /* Call the worker routine with the captured buffers */
-    SepAccessCheckAndAuditAlarmWorker(&CapturedSubsystemName,
-                                      HandleId,
-                                      &SubjectContext,
-                                      &CapturedObjectTypeName,
-                                      &CapturedObjectName,
-                                      CapturedSecurityDescriptor,
-                                      CapturedPrincipalSelfSid,
-                                      DesiredAccess,
-                                      AuditType,
-                                      HaveAuditPrivilege,
-                                      CapturedObjectTypeList,
-                                      ObjectTypeListLength,
-                                      &LocalGenericMapping,
-                                      SafeGrantedAccessList,
-                                      SafeAccessStatusList,
-                                      &LocalGenerateOnClose,
-                                      UseResultList);
+    Status = SepAccessCheckAndAuditAlarmWorker(&CapturedSubsystemName,
+                                               HandleId,
+                                               &SubjectContext,
+                                               &CapturedObjectTypeName,
+                                               &CapturedObjectName,
+                                               CapturedSecurityDescriptor,
+                                               CapturedPrincipalSelfSid,
+                                               DesiredAccess,
+                                               AuditType,
+                                               HaveAuditPrivilege,
+                                               CapturedObjectTypeList,
+                                               ObjectTypeListLength,
+                                               &LocalGenericMapping,
+                                               SafeGrantedAccessList,
+                                               SafeAccessStatusList,
+                                               &LocalGenerateOnClose,
+                                               UseResultList);
+    if (!NT_SUCCESS(Status))
+        goto Cleanup;
 
     /* Enter SEH to copy the data back to user mode */
     _SEH2_TRY

Reply via email to