From 3b7a2cf026b6c810dde54683561dbc5ee31c59c1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 23 Apr 2021 12:39:03 +0200 Subject: [PATCH] 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) (cherry picked from commit 27606d5448dcaef17d256ced7e89b963a13cfec4) --- src/core/service.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/core/service.c b/src/core/service.c index 6b16d86d98..4ec5a8196c 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -2799,9 +2799,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); -- 2.25.1