Rebase against a0b8f178df8ed704fc732f5aef3b2e1f623512fc.

This commit is contained in:
Sebastian Lackner
2015-12-22 03:07:15 +01:00
parent 8a378ee8e7
commit 81ee7ad18a
10 changed files with 22 additions and 236 deletions

View File

@@ -1,33 +0,0 @@
From 3b2e19cfcb3d5d1a901fee4bcdeba7b424d128ed Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 12 Dec 2015 06:53:57 +0100
Subject: kernel32/tests: Remove unnecessary call to GetExitCodeProcess in
process tests.
---
dlls/kernel32/tests/process.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c
index 6dc1f5e..f186c94 100644
--- a/dlls/kernel32/tests/process.c
+++ b/dlls/kernel32/tests/process.c
@@ -2729,7 +2729,6 @@ static void test_StartupNoConsole(void)
char buffer[MAX_PATH];
STARTUPINFOA startup;
PROCESS_INFORMATION info;
- DWORD code;
if (!pNtCurrentTeb)
{
@@ -2746,7 +2745,6 @@ static void test_StartupNoConsole(void)
ok(CreateProcessA(NULL, buffer, NULL, NULL, TRUE, DETACHED_PROCESS, NULL, NULL, &startup,
&info), "CreateProcess\n");
ok(WaitForSingleObject(info.hProcess, 30000) == WAIT_OBJECT_0, "Child process termination\n");
- ok(GetExitCodeProcess(info.hProcess, &code), "Getting exit code\n");
WritePrivateProfileStringA(NULL, NULL, NULL, resfile);
okChildInt("StartupInfoA", "hStdInput", (UINT)INVALID_HANDLE_VALUE);
okChildInt("StartupInfoA", "hStdOutput", (UINT)INVALID_HANDLE_VALUE);
--
2.6.2

View File

@@ -1,36 +0,0 @@
From 852441b8d71ffc4fe095a331cd8a7dcc2fdac1c2 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 10 Dec 2015 16:40:01 +0100
Subject: server: token_duplicate should not reference the original token,
which will get destroyed on process exit.
---
server/token.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/server/token.c b/server/token.c
index 001261d..9edfbf0 100644
--- a/server/token.c
+++ b/server/token.c
@@ -568,6 +568,7 @@ struct token *token_duplicate( struct token *src_token, unsigned primary,
if (!token) return token;
/* copy groups */
+ token->primary_group = NULL;
LIST_FOR_EACH_ENTRY( group, &src_token->groups, struct group, entry )
{
size_t size = FIELD_OFFSET( struct group, sid.SubAuthority[group->sid.SubAuthorityCount] );
@@ -579,8 +580,9 @@ struct token *token_duplicate( struct token *src_token, unsigned primary,
}
memcpy( newgroup, group, size );
list_add_tail( &token->groups, &newgroup->entry );
+ if (src_token->primary_group == &group->sid)
+ token->primary_group = &newgroup->sid;
}
- token->primary_group = src_token->primary_group;
assert( token->primary_group );
/* copy privileges */
--
2.6.2