https://git.reactos.org/?p=reactos.git;a=commitdiff;h=986bf4c407954cb95fa426...
commit 986bf4c407954cb95fa4260347e347cf9c4ad19b Author: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org AuthorDate: Mon Jun 25 15:32:06 2018 +0200 Commit: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org CommitDate: Wed Jun 27 23:40:14 2018 +0200
[NTOS:SE] In SepCreateClientSecurity(), fix the impersonation level value passed to the SeCopyClientToken() call.
Caught while debugging, in the case the ImpersonationLevel value was uninitialized, due to the fact it was left untouched on purpose by PsReferenceEffectiveToken(). --- ntoskrnl/se/access.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ntoskrnl/se/access.c b/ntoskrnl/se/access.c index 4d24839592..a4f5cb0ee6 100644 --- a/ntoskrnl/se/access.c +++ b/ntoskrnl/se/access.c @@ -225,8 +225,8 @@ SepCreateClientSecurity(IN PACCESS_TOKEN Token, /* Do not use direct access and make a copy */ ClientContext->DirectlyAccessClientToken = FALSE; Status = SeCopyClientToken(Token, - ImpersonationLevel, - 0, + ClientSecurityQos->ImpersonationLevel, + KernelMode, &NewToken); if (!NT_SUCCESS(Status)) return Status;