From bd037038840501916aaf8b65a0c3a6e7357d3c74 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 29 Oct 2013 21:38:31 +0100 Subject: bus: don't fail if GetAll() is used to get properties of the built-in interfaces --- src/libsystemd-bus/bus-objects.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/libsystemd-bus/bus-objects.c b/src/libsystemd-bus/bus-objects.c index 31d761e215..aa0be37a9d 100644 --- a/src/libsystemd-bus/bus-objects.c +++ b/src/libsystemd-bus/bus-objects.c @@ -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; -- cgit v1.2.3-54-g00ecf