]> pd.if.org Git - startuptools/blobdiff - chids.c
startup program improvements
[startuptools] / chids.c
diff --git a/chids.c b/chids.c
index 61e72262f2c5aac56013c6abf43fa098beb98f31..fbe742f97fd0eab638ee3e219dcfa5987a5333a7 100644 (file)
--- a/chids.c
+++ b/chids.c
@@ -1,5 +1,5 @@
 /*
- * daemonize and exec
+ * set id
  */
 
 #include <stdlib.h>
@@ -8,16 +8,21 @@
 #include <pwd.h>
 
 #include "exec.c"
+#include "die.c"
 
 int main(int ac, char *av[]) {
        struct passwd *pw;
 
        pw = getpwnam(av[1]);
        if (!pw) {
+               errordie("getpwnam");
                exit(EXIT_FAILURE);
        }
        
-       seteuid(pw->pw_uid);
+       if (seteuid(pw->pw_uid) == -1) {
+               errordie("seteuid");
+               exit(EXIT_FAILURE);
+       };
 
        do_exec(2, ac, av);