mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 00:14:32 +09:00
core: fix assert when AddDependencyUnitFiles is called with invalid parameter
unit_file_add_dependency() asserts, so check before calling it that the type is expected, or return EINVAL to the caller. root@localhost:~# busctl call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager AddDependencyUnitFiles "asssbb" 0 uwhatm8 After 1 1 Broadcast message from systemd-journald@localhost (Mon 2025-01-06 18:12:14 UTC): systemd[1]: Caught <ABRT>, from our own process. Fixes https://github.com/systemd/systemd/issues/35882
This commit is contained in:
@@ -2674,7 +2674,7 @@ static int method_add_dependency_unit_files(sd_bus_message *message, void *userd
|
||||
flags = unit_file_bools_to_flags(runtime, force);
|
||||
|
||||
dep = unit_dependency_from_string(type);
|
||||
if (dep < 0)
|
||||
if (dep < 0 || !IN_SET(dep, UNIT_WANTS, UNIT_REQUIRES))
|
||||
return -EINVAL;
|
||||
|
||||
r = unit_file_add_dependency(m->runtime_scope, flags, NULL, l, target, dep, &changes, &n_changes);
|
||||
|
||||
Reference in New Issue
Block a user