mirror of
https://github.com/systemd/systemd.git
synced 2024-11-06 16:59:03 +03:00
execute: make setup_pam() return -errno when possible
The only caller currently checks if the result is non-zero, so nothing changes there.
This commit is contained in:
parent
4d8a7798e7
commit
9ba353983a
@ -716,6 +716,7 @@ static int setup_pam(
|
||||
pam_handle_t *handle = NULL;
|
||||
sigset_t ss, old_ss;
|
||||
int pam_code = PAM_SUCCESS;
|
||||
int err;
|
||||
char **e = NULL;
|
||||
bool close_session = false;
|
||||
pid_t pam_pid = 0, parent_pid;
|
||||
@ -835,6 +836,11 @@ static int setup_pam(
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
if (pam_code != PAM_SUCCESS)
|
||||
err = -EPERM; /* PAM errors do not map to errno */
|
||||
else
|
||||
err = -errno;
|
||||
|
||||
if (handle) {
|
||||
if (close_session)
|
||||
pam_code = pam_close_session(handle, PAM_DATA_SILENT);
|
||||
@ -851,7 +857,7 @@ fail:
|
||||
kill(pam_pid, SIGCONT);
|
||||
}
|
||||
|
||||
return EXIT_PAM;
|
||||
return err;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user