From e2e61f329682c88e0a487e049245d865d2df9239 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 26 May 2024 11:10:45 -0700 Subject: [PATCH] std.process.Child: comptime assert to protect prog_fileno documenting my assumptions via comptime assertion --- lib/std/process/Child.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/std/process/Child.zig b/lib/std/process/Child.zig index 1be56fc4892d78e463242f8c6af767f2cd00dda8..a31afdc66d5e68eed8f884e66231d792b52ce518 100644 --- a/lib/std/process/Child.zig +++ b/lib/std/process/Child.zig @@ -610,6 +610,7 @@ fn spawnPosix(self: *ChildProcess) SpawnError!void { for (self.argv, 0..) |arg, i| argv_buf[i] = (try arena.dupeZ(u8, arg)).ptr; const prog_fileno = 3; + comptime assert(@max(posix.STDIN_FILENO, posix.STDOUT_FILENO, posix.STDERR_FILENO) + 1 == prog_fileno); const envp: [*:null]const ?[*:0]const u8 = m: { const prog_fd: i32 = if (prog_pipe[1] == -1) -1 else prog_fileno; -- 2.54.0