From b9b442a0ccb6e8f0b351412eb406cad30d622b9f Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 19 Jan 2021 04:40:26 +0900 Subject: [PATCH] analyze: resolve executable path if it is relative Fixes #18252. --- src/analyze/analyze-verify.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/analyze/analyze-verify.c b/src/analyze/analyze-verify.c index a9c89173bfa..bf28624d41f 100644 --- a/src/analyze/analyze-verify.c +++ b/src/analyze/analyze-verify.c @@ -115,14 +115,17 @@ static int verify_socket(Unit *u) { } int verify_executable(Unit *u, const ExecCommand *exec) { + int r; + if (!exec) return 0; if (exec->flags & EXEC_COMMAND_IGNORE_FAILURE) return 0; - if (access(exec->path, X_OK) < 0) - return log_unit_error_errno(u, errno, "Command %s is not executable: %m", exec->path); + r = find_executable_full(exec->path, false, NULL, NULL); + if (r < 0) + return log_unit_error_errno(u, r, "Command %s is not executable: %m", exec->path); return 0; } -- 2.47.3