bus-unit-util: do not trigger assertion on "ExecStart=@"

extract_first_word() normalizes empty string to NULL,
triggering the assertion on input string in strv_split_full().
This commit is contained in:
Mike Yuan
2025-05-07 18:32:18 +02:00
parent 72758ef117
commit 91d5fad9fb
+4
View File
@@ -354,6 +354,10 @@ static int bus_append_exec_command(sd_bus_message *m, const char *field, const c
r = extract_first_word(&eq, &path, NULL, EXTRACT_UNQUOTE|EXTRACT_CUNESCAPE);
if (r < 0)
return log_error_errno(r, "Failed to parse path: %m");
if (r == 0)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "No executable path specified, refusing.");
if (isempty(eq))
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Got empty command line, refusing.");
}
r = strv_split_full(&l, eq, NULL, EXTRACT_UNQUOTE|EXTRACT_CUNESCAPE);