Commit 4f0f3a7d45

Andrew Kelley <superjoe30@gmail.com>
2017-09-26 09:17:35
std.os.ChildProcess: setgid before setuid
otherwise we thwart our permissions to setuid
1 parent 5c2db5a
Changed files (1)
std/os/child_process.zig
@@ -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);
         }