Mercurial > hg > vboxdotnet
diff VBoxFrontend/ProgramLoader.cs @ 3:b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
author | Ivo Smits |
---|---|
date | Wed, 04 May 2011 16:32:10 +0200 |
parents | e1ec7bf71313 |
children |
line wrap: on
line diff
--- a/VBoxFrontend/ProgramLoader.cs Wed May 04 16:10:08 2011 +0200 +++ b/VBoxFrontend/ProgramLoader.cs Wed May 04 16:32:10 2011 +0200 @@ -26,7 +26,13 @@ private static void Unix_setuid() { uint uid = Mono.Unix.Native.Syscall.getuid(); uint euid = Mono.Unix.Native.Syscall.geteuid(); - Console.WriteLine("Running as user {0} effective {1}", uid, euid); + uint gid = Mono.Unix.Native.Syscall.getgid(); + uint egid = Mono.Unix.Native.Syscall.getegid(); + Console.WriteLine("Running as user {0} effective {1} group {2} effective {3}", uid, euid, gid, egid); + if (gid != egid) { + Console.WriteLine("Set group ID: {0}", gid); + Mono.Unix.Native.Syscall.setregid(gid, gid); + } if (uid != euid) { Console.WriteLine("Set user ID: {0}", uid); Mono.Unix.Native.Syscall.setreuid(uid, uid);