1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-13 13:17:43 +03:00

bus-unit-util: make sure we can set LoadCredentials= property with a single string

LoadCredentials= in unit files supports a syntax passing a single string
only (in which case the credentials are propagated down from the host).
but systemd-run's --property= setting doesn't allow that yet. Fix that.
This commit is contained in:
Lennart Poettering 2022-04-14 17:57:33 +02:00
parent 6a25ce4380
commit 255689ae92

View File

@ -1156,9 +1156,12 @@ static int bus_append_execute_property(sd_bus_message *m, const char *field, con
return log_oom();
if (r < 0)
return log_error_errno(r, "Failed to parse %s= parameter: %s", field, eq);
if (r == 0 || !p)
if (r == 0)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Missing argument to %s=.", field);
if (isempty(p)) /* If only one field is specified, then this means "inherit from above" */
p = eq;
r = sd_bus_message_append(m, "a(ss)", 1, word, p);
}
if (r < 0)