mirror of
https://github.com/systemd/systemd.git
synced 2025-02-03 17:47:28 +03:00
shared: log error when execve fail
If there is an error with the execv call in fork_agent the program exits without any meaningful log message. Log the command and errno so the user gets more information about the failure. Fixes: #33418 Signed-off-by: Mauri de Souza Meneguzzo <mauri870@gmail.com> (cherry picked from commit a408d4453145621902b9a3ef78a552f83b09bd8d)
This commit is contained in:
parent
7da84cc154
commit
7fcfb73d71
@ -609,5 +609,6 @@ int fork_agent(const char *name, const int except[], size_t n_except, pid_t *ret
|
||||
va_end(ap);
|
||||
|
||||
execv(path, l);
|
||||
log_error_errno(errno, "Failed to execute %s: %m", path);
|
||||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
|
@ -43,16 +43,21 @@ int polkit_agent_open(void) {
|
||||
xsprintf(notify_fd, "%i", pipe_fd[1]);
|
||||
|
||||
r = fork_agent("(polkit-agent)",
|
||||
&pipe_fd[1], 1,
|
||||
&pipe_fd[1],
|
||||
1,
|
||||
&agent_pid,
|
||||
POLKIT_AGENT_BINARY_PATH,
|
||||
POLKIT_AGENT_BINARY_PATH, "--notify-fd", notify_fd, "--fallback", NULL);
|
||||
POLKIT_AGENT_BINARY_PATH,
|
||||
"--notify-fd",
|
||||
notify_fd,
|
||||
"--fallback",
|
||||
NULL);
|
||||
|
||||
/* Close the writing side, because that's the one for the agent */
|
||||
safe_close(pipe_fd[1]);
|
||||
|
||||
if (r < 0)
|
||||
log_error_errno(r, "Failed to fork TTY ask password agent: %m");
|
||||
log_error_errno(r, "Failed to fork polkit agent: %m");
|
||||
else
|
||||
/* Wait until the agent closes the fd */
|
||||
(void) fd_wait_for_event(pipe_fd[0], POLLHUP, USEC_INFINITY);
|
||||
|
Loading…
x
Reference in New Issue
Block a user