chiark / gitweb /
bus: don't fail if GetAll() is used to get properties of the built-in interfaces
authorLennart Poettering <lennart@poettering.net>
Tue, 29 Oct 2013 20:38:31 +0000 (21:38 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 30 Oct 2013 01:08:57 +0000 (02:08 +0100)
src/libsystemd-bus/bus-objects.c

index 31d761e..aa0be37 100644 (file)
@@ -585,7 +585,7 @@ static int property_get_all_callbacks_run(
 
         _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
         struct node_vtable *c;
-        bool found_interface = false;
+        bool found_interface;
         int r;
 
         assert(bus);
@@ -600,6 +600,11 @@ static int property_get_all_callbacks_run(
         if (r < 0)
                 return r;
 
+        found_interface =
+                streq(iface, "org.freedesktop.DBus.Properties") ||
+                streq(iface, "org.freedesktop.DBus.Peer") ||
+                streq(iface, "org.freedesktop.DBus.Introspectable");
+
         LIST_FOREACH(vtables, c, first) {
                 _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
                 void *u;