From 61d5df6e6d5c01bc625d5f23aae60a7c253ff039 Mon Sep 17 00:00:00 2001 From: hsfzxjy Date: Sun, 20 Jul 2025 00:56:32 +0800 Subject: [PATCH] DeduplicateStdioHandles() should inherit The duplicated handles in DeduplicateStdioHandles() should be inheritable. Otherwise sys_fork_nt_parent() will pass non-inheritable handles to CreateProcess(). --- libc/runtime/winmain.greg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libc/runtime/winmain.greg.c b/libc/runtime/winmain.greg.c index 640314f93..f160ec9b7 100644 --- a/libc/runtime/winmain.greg.c +++ b/libc/runtime/winmain.greg.c @@ -147,7 +147,7 @@ abi static void DeduplicateStdioHandles(void) { int64_t h2 = __imp_GetStdHandle(kNtStdio[j]); if (h1 == h2) { int64_t h3; - __imp_DuplicateHandle(-1, h2, -1, &h3, 0, false, + __imp_DuplicateHandle(-1, h2, -1, &h3, 0, true, kNtDuplicateSameAccess); __imp_SetStdHandle(kNtStdio[j], h3); }