authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-09-26 03:17:35-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-09-26 03:17:58-04:00
log4f0f3a7d45ef73d0e3e1721e21d17b3506815402
tree46a0bf56c1f15e33b238b419d01c43d51d60fa4d
parent5c2db5a942a7f3af52fa1a46df0afa7013d65dd9

std.os.ChildProcess: setgid before setuid

otherwise we thwart our permissions to setuid

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

std/os/child_process.zig+4-4
...@@ -299,14 +299,14 @@ pub const ChildProcess = struct {...@@ -299,14 +299,14 @@ pub const ChildProcess = struct {
299 |err| forkChildErrReport(err_pipe[1], err);299 |err| forkChildErrReport(err_pipe[1], err);
300 }300 }
301301
302 if (self.uid) |uid| {
303 os.posix_setreuid(uid, uid) %% |err| forkChildErrReport(err_pipe[1], err);
304 }
305
306 if (self.gid) |gid| {302 if (self.gid) |gid| {
307 os.posix_setregid(gid, gid) %% |err| forkChildErrReport(err_pipe[1], err);303 os.posix_setregid(gid, gid) %% |err| forkChildErrReport(err_pipe[1], err);
308 }304 }
309305
306 if (self.uid) |uid| {
307 os.posix_setreuid(uid, uid) %% |err| forkChildErrReport(err_pipe[1], err);
308 }
309
310 os.posixExecve(self.argv, env_map, self.allocator) %%310 os.posixExecve(self.argv, env_map, self.allocator) %%
311 |err| forkChildErrReport(err_pipe[1], err);311 |err| forkChildErrReport(err_pipe[1], err);
312 }312 }