https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7d1a497619f4001db59e55...
commit 7d1a497619f4001db59e552ddb69406bea4dae70 Author: Thomas Faber thomas.faber@reactos.org AuthorDate: Sun Apr 3 20:10:37 2022 -0400 Commit: Thomas Faber thomas.faber@reactos.org CommitDate: Sun Apr 3 20:13:09 2022 -0400
[NTOS:EX] Only set WakeTimer-related status if timer handle is valid. CORE-18133
Since STATUS_TIMER_RESUME_IGNORED is a success status, we would otherwise go into the success case with a NULL Timer object pointer. --- ntoskrnl/ex/timer.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/ntoskrnl/ex/timer.c b/ntoskrnl/ex/timer.c index 0ce7af03156..0c33675333c 100644 --- a/ntoskrnl/ex/timer.c +++ b/ntoskrnl/ex/timer.c @@ -640,7 +640,10 @@ NtSetTimer(IN HANDLE TimerHandle, * functionality required to support them, make this check dependent * on the actual PM capabilities */ - if (WakeTimer) Status = STATUS_TIMER_RESUME_IGNORED; + if (NT_SUCCESS(Status) && WakeTimer) + { + Status = STATUS_TIMER_RESUME_IGNORED; + }
/* Check status */ if (NT_SUCCESS(Status))