bus: in bus_foreach_bus() don't bother with api_bus if it is NULL
authorLennart Poettering <lennart@poettering.net>
Wed, 7 Feb 2018 21:44:18 +0000 (22:44 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 12 Feb 2018 10:34:00 +0000 (11:34 +0100)
Let's better be safe than sorry, and validate that api_bus is not NULL
before we send messages to it. Of course, strictly speaking this
shouldn't actually be necessary, as the tracker object should not exist
without the bus, but let's be extra sure.

src/core/dbus.c

index c7c96a3..04bed73 100644 (file)
@@ -1204,8 +1204,9 @@ int bus_foreach_bus(
         }
 
         /* Send to API bus, but only if somebody is subscribed */
-        if (sd_bus_track_count(m->subscribed) > 0 ||
-            sd_bus_track_count(subscribed2) > 0) {
+        if (m->api_bus &&
+            (sd_bus_track_count(m->subscribed) > 0 ||
+             sd_bus_track_count(subscribed2) > 0)) {
                 r = send_message(m->api_bus, userdata);
                 if (r < 0)
                         ret = r;