core: execute: fix regression in pam_setup()

Commit 72c0a2c25 ("everywhere: port everything to sigprocmask_many()
and friends") reworked code tree-wide to use the new sigprocmask_many()
helper. In this, it caused a regression in pam_setup, because it
dropped a line to initialize the 'ss' signal mask which is later used
in sigwait().

While at it, move the variable declaration to an inner scope.
This commit is contained in:
Daniel Mack 2015-06-17 14:31:49 +02:00
parent 9d8a5fd3e6
commit d6e5f3ad1f
1 changed files with 6 additions and 1 deletions

View File

@ -771,7 +771,7 @@ static int setup_pam(
};
pam_handle_t *handle = NULL;
sigset_t ss, old_ss;
sigset_t old_ss;
int pam_code = PAM_SUCCESS;
int err;
char **e = NULL;
@ -868,6 +868,11 @@ static int setup_pam(
/* Check if our parent process might already have
* died? */
if (getppid() == parent_pid) {
sigset_t ss;
assert_se(sigemptyset(&ss) >= 0);
assert_se(sigaddset(&ss, SIGTERM) >= 0);
for (;;) {
if (sigwait(&ss, &sig) < 0) {
if (errno == EINTR)