diff --git a/src/child.rs b/src/child.rs index 5f30c368..5739041e 100644 --- a/src/child.rs +++ b/src/child.rs @@ -126,7 +126,7 @@ pub unsafe fn child_after_clone(child: &ChildInfo) -> ! { }); child.cfg.gid.as_ref().map(|&gid| { - if libc::setgid(gid) != 0 { + if libc::syscall(libc::SYS_setgid, gid as c_ulong) != 0 { fail(Err::SetUser, epipe); } }); @@ -138,7 +138,7 @@ pub unsafe fn child_after_clone(child: &ChildInfo) -> ! { }); child.cfg.uid.as_ref().map(|&uid| { - if libc::setuid(uid) != 0 { + if libc::syscall(libc::SYS_setuid, uid as c_ulong) != 0 { fail(Err::SetUser, epipe); } });