X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fdbus-common.c;h=5db077b74fb8115157cd8932ea1a8b98ae70c188;hb=f8e08a77e7bbea802b50adcb442f99af462fa96e;hp=9bf0dabe4cf1da450dc84d3a58f63330059064ef;hpb=572481b9094f7f1fbba69f1bd0c8f7db31550b01;p=elogind.git diff --git a/src/dbus-common.c b/src/dbus-common.c index 9bf0dabe4..5db077b74 100644 --- a/src/dbus-common.c +++ b/src/dbus-common.c @@ -418,9 +418,13 @@ DBusHandlerResult bus_default_message_handler( return bus_send_error_reply(c, message, &error, -EINVAL); } - } else if (!nulstr_contains(interfaces, dbus_message_get_interface(message))) { - dbus_set_error_const(&error, DBUS_ERROR_UNKNOWN_INTERFACE, "Unknown interface"); - return bus_send_error_reply(c, message, &error, -EINVAL); + } else { + const char *interface = dbus_message_get_interface(message); + + if (!interface || !nulstr_contains(interfaces, interface)) { + dbus_set_error_const(&error, DBUS_ERROR_UNKNOWN_INTERFACE, "Unknown interface"); + return bus_send_error_reply(c, message, &error, -EINVAL); + } } if (reply) {