swc

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.nihaljere.xyz/swc
Log | Files | Refs | README | LICENSE

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:
Mlaunch/launch.c | 4++--
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]);