https://git.reactos.org/?p=reactos.git;a=commitdiff;h=81789965593b254827e0f…
commit 81789965593b254827e0f8bf7f27a72510dd8c0c
Author: Jérôme Gardou <jerome.gardou(a)reactos.org>
AuthorDate: Thu Jun 17 17:55:14 2021 +0200
Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com>
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