std.os.ChildProcess: setgid before setuid

otherwise we thwart our permissions to setuid
This commit is contained in:
Andrew Kelley 2017-09-26 03:17:35 -04:00
parent 5c2db5a942
commit 4f0f3a7d45

View File

@ -299,14 +299,14 @@ pub const ChildProcess = struct {
|err| forkChildErrReport(err_pipe[1], err);
}
if (self.uid) |uid| {
os.posix_setreuid(uid, uid) %% |err| forkChildErrReport(err_pipe[1], err);
}
if (self.gid) |gid| {
os.posix_setregid(gid, gid) %% |err| forkChildErrReport(err_pipe[1], err);
}
if (self.uid) |uid| {
os.posix_setreuid(uid, uid) %% |err| forkChildErrReport(err_pipe[1], err);
}
os.posixExecve(self.argv, env_map, self.allocator) %%
|err| forkChildErrReport(err_pipe[1], err);
}