analyze: do not prepend the current working directory to SYSTEMD_UNIT_PATH needlessly

If the requested unit is not in the current working directory, it is not
necessary to include the current working directory in SYSTEMD_UNIT_PATH.

Follow-up for 45519d13a4.

Fixes #30166.
This commit is contained in:
Yu Watanabe 2023-11-24 05:22:33 +09:00
parent ff7af46edb
commit 2f6181ad4d

View file

@ -86,6 +86,9 @@ int verify_set_unit_path(char **filenames) {
if (r < 0)
return r;
if (access(a, F_OK) < 0)
continue;
r = path_extract_directory(a, &t);
if (r < 0)
return r;
@ -99,6 +102,9 @@ int verify_set_unit_path(char **filenames) {
if (!joined)
return -ENOMEM;
if (isempty(joined))
return 0;
/* First, prepend our directories. Second, if some path was specified, use that, and
* otherwise use the defaults. Any duplicates will be filtered out in path-lookup.c.
* Treat explicit empty path to mean that nothing should be appended. */