core:execute: fix fork() fail handling in exec_spawn()
If pid < 0 after fork(), 0 is always returned because r = exec_context_load_environment() has exited successfully. This will make the caller of exec_spawn() not able to handle the fork() error case and make systemd abort assert() possibly.
This commit is contained in:
parent
59a99b2007
commit
74129a1276
|
@ -2056,7 +2056,7 @@ int exec_spawn(Unit *unit,
|
|||
NULL);
|
||||
pid = fork();
|
||||
if (pid < 0)
|
||||
return log_unit_error_errno(unit, r, "Failed to fork: %m");
|
||||
return log_unit_error_errno(unit, errno, "Failed to fork: %m");
|
||||
|
||||
if (pid == 0) {
|
||||
int exit_status;
|
||||
|
|
Loading…
Reference in a new issue