commit 6241c397132b3792e6d03fb8b0d01f56d5b0a28a
parent 7e4243e786ae9a55a7627358a321aed83287e5e0
Author: Michael Forney <mforney@mforney.org>
Date: Sat, 2 Aug 2014 10:49:03 -0700
launch: Die if setuid or setgid fails
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/launch/launch.c b/launch/launch.c
@@ -508,8 +508,8 @@ int main(int argc, char * argv[])
sprintf(string, "%d", launcher.tty_fd);
setenv(SWC_LAUNCH_TTY_FD_ENV, string, 1);
- setuid(getuid());
- setgid(getgid());
+ if (setuid(getuid()) != 0 || setgid(getgid()) != 0)
+ die("Failed to drop permission before executing display server");
execvp(argv[optind], argv + optind);
die("Could not exec %s", argv[optind]);