authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-05-26 11:10:45-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-05-27 20:56:48-07:00
loge2e61f329682c88e0a487e049245d865d2df9239
treeecd3a80abe85617dc3550c72fda128c4911f5fca
parente8907f9e9ccf4baf661d1b0ab45157a9940e70e3

std.process.Child: comptime assert to protect prog_fileno

documenting my assumptions via comptime assertion

1 files changed, 1 insertions(+), 0 deletions(-)

lib/std/process/Child.zig+1
......@@ -610,6 +610,7 @@ fn spawnPosix(self: *ChildProcess) SpawnError!void {
610610 for (self.argv, 0..) |arg, i| argv_buf[i] = (try arena.dupeZ(u8, arg)).ptr;
611611
612612 const prog_fileno = 3;
613 comptime assert(@max(posix.STDIN_FILENO, posix.STDOUT_FILENO, posix.STDERR_FILENO) + 1 == prog_fileno);
613614
614615 const envp: [*:null]const ?[*:0]const u8 = m: {
615616 const prog_fd: i32 = if (prog_pipe[1] == -1) -1 else prog_fileno;