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:
committed by
Lennart Poettering
parent
59a99b2007
commit
74129a1276
+1
-1
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user