diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 26ce8fe11f..bbb4ae2de6 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -2111,9 +2111,10 @@ int match_properties_changed(sd_bus *bus, sd_bus_message *message, void *userdat return 0; r = unit_name_from_dbus_path(path, &unit); + if (r == -EINVAL) /* not a unit */ + return 0; if (r < 0) - /* quietly ignore non-units paths */ - return r == -EINVAL ? 0 : r; + return r; session = hashmap_get(m->session_units, unit); if (session) diff --git a/src/machine/machined-dbus.c b/src/machine/machined-dbus.c index 94dd128ec1..b894e0b444 100644 --- a/src/machine/machined-dbus.c +++ b/src/machine/machined-dbus.c @@ -738,6 +738,8 @@ int match_properties_changed(sd_bus *bus, sd_bus_message *message, void *userdat return 0; r = unit_name_from_dbus_path(path, &unit); + if (r == -EINVAL) /* not for a unit */ + return 0; if (r < 0) return r;