summaryrefslogtreecommitdiff
path: root/modules/pam_filter
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2009-04-03 00:36:22 +0000
committerDmitry V. Levin <ldv@altlinux.org>2009-04-03 00:36:22 +0000
commit8575828fae141d5f918fca7f123cc96f6793ac11 (patch)
treef2ca2fa7f27fdf59deefda12f8cc2d6638bcf25f /modules/pam_filter
parent5182ea70c8425d302c31386a325b869fcfef9671 (diff)
Relevant BUGIDs:
Purpose of commit: bugfix Commit summary: --------------- 2009-04-03 Dmitry V. Levin <ldv@altlinux.org> * libpamc/pamc_load.c (__pamc_exec_agent): Replace call to exit(3) in child process with call to _exit(2). * modules/pam_mkhomedir/pam_mkhomedir.c (create_homedir): Likewise. * modules/pam_unix/pam_unix_acct.c (_unix_run_verify_binary): Likewise. * modules/pam_unix/pam_unix_passwd.c (_unix_run_update_binary): Likewise. * modules/pam_unix/support.c (_unix_run_helper_binary): Likewise. * modules/pam_xauth/pam_xauth.c (run_coprocess): Likewise. * modules/pam_exec/pam_exec.c (call_exec): Replace all calls to exit(3) in child process with calls to _exit(2). * modules/pam_filter/pam_filter.c (set_filter): Likewise. * modules/pam_namespace/pam_namespace.c (inst_init, cleanup_tmpdirs): Likewise.
Diffstat (limited to 'modules/pam_filter')
-rw-r--r--modules/pam_filter/pam_filter.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/pam_filter/pam_filter.c b/modules/pam_filter/pam_filter.c
index 6b821efc..2f290fd5 100644
--- a/modules/pam_filter/pam_filter.c
+++ b/modules/pam_filter/pam_filter.c
@@ -468,7 +468,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
pam_syslog(pamh, LOG_WARNING,
"unable to re-assign APPIN/OUT/ERR: %m");
close(fd[0]);
- exit(1);
+ _exit(1);
}
/* make sure that file descriptors survive 'exec's */
@@ -481,7 +481,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
close(APPIN_FILENO);
close(APPOUT_FILENO);
close(APPERR_FILENO);
- exit(1);
+ _exit(1);
}
/* now the user input is read from the parent through filter */
@@ -491,6 +491,7 @@ set_filter (pam_handle_t *pamh, int flags UNUSED, int ctrl,
/* getting to here is an error */
pam_syslog(pamh, LOG_ALERT, "filter: %s: %m", filtername);
+ _exit(1);
} else { /* wait for either of the two children to exit */