summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-04-23 12:39:03 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-05-06 14:51:08 +0200
commit27606d5448dcaef17d256ced7e89b963a13cfec4 (patch)
treeea42e4a64b6b13c045b9785755c747fb98b2313a
parent2417e9b59aa654e4b3def3399576ebbc2cdd7c95 (diff)
downloadsystemd-27606d5448dcaef17d256ced7e89b963a13cfec4.tar.gz
core/service: fix deserialization of non-absolute commands
We'd fail with: Apr 23 10:58:26 systemd[1]: Deserializing state... Apr 23 10:58:26 systemd[1]: testsuite-01.service: Failed to parse serialized command "ExecStart 0 sh "sh" "-e" "-x" "-c" "systemctl --state=failed --no-legend --no-pager >/failed ; systemctl daemon-reload ; echo OK >/testok"": Invalid argument Apr 23 10:58:26 systemd[1]: testsuite-01.service: Reinstalled deserialized job testsuite-01.service/start as 209 This was missed in 5008da1ec1, and apparently nobody noticed until now :( (cherry picked from commit 1a128a468ddd1070651478c36eae76e31f580b67)
-rw-r--r--src/core/service.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/src/core/service.c b/src/core/service.c
index 901f41b937..60eb43ac82 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -2776,9 +2776,6 @@ static int service_deserialize_exec_command(
case STATE_EXEC_COMMAND_PATH:
path = TAKE_PTR(arg);
state = STATE_EXEC_COMMAND_ARGS;
-
- if (!path_is_absolute(path))
- return -EINVAL;
break;
case STATE_EXEC_COMMAND_ARGS:
r = strv_extend(&argv, arg);