chiark / gitweb /
unit: support wildcards in Environment=, EnvironmentFile=
[elogind.git] / src / execute.c
index c69442d0ffeeda1365db6ad07c71e300140c4dd1..9c390c0bcee4218a67586da5994ae4dab126f3a6 100644 (file)
@@ -898,6 +898,9 @@ static int setup_pam(
          * might have opened it, but we don't want this fd around. */
         closelog();
 
+        *pam_env = e;
+        e = NULL;
+
         return 0;
 
 fail:
@@ -1063,7 +1066,7 @@ int exec_spawn(ExecCommand *command,
 
                 /* This string must fit in 10 chars (i.e. the length
                  * of "/sbin/init") */
-                rename_process("sd.exec");
+                rename_process("sd(EXEC)");
 
                 /* We reset exactly these signals, since they are the
                  * only ones we set to SIG_IGN in the main daemon. All
@@ -1269,7 +1272,7 @@ int exec_spawn(ExecCommand *command,
 
 #ifdef HAVE_PAM
                 if (context->pam_name && username) {
-                        if (setup_pam(context->pam_name, username, context->tty_path, &pam_env, fds, n_fds) < 0) {
+                        if (setup_pam(context->pam_name, username, context->tty_path, &pam_env, fds, n_fds) != 0) {
                                 r = EXIT_PAM;
                                 goto fail_child;
                         }