https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7d1a497619f4001db59e5…
commit 7d1a497619f4001db59e552ddb69406bea4dae70
Author: Thomas Faber <thomas.faber(a)reactos.org>
AuthorDate: Sun Apr 3 20:10:37 2022 -0400
Commit: Thomas Faber <thomas.faber(a)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))