X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fdbus-common.c;h=5db077b74fb8115157cd8932ea1a8b98ae70c188;hb=f8e08a77e7bbea802b50adcb442f99af462fa96e;hp=fe7f84b119352772173f44d10586c5a2ff891e47;hpb=916abb21d0a6653e0187b91591e492026886b0a4;p=elogind.git diff --git a/src/dbus-common.c b/src/dbus-common.c index fe7f84b11..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) { @@ -569,15 +573,15 @@ int bus_property_append_ul(DBusMessageIter *i, const char *property, void *data) } int bus_property_append_long(DBusMessageIter *i, const char *property, void *data) { - uint64_t u; + int64_t l; assert(i); assert(property); assert(data); - u = (int64_t) *(long*) data; + l = (int64_t) *(long*) data; - if (!dbus_message_iter_append_basic(i, DBUS_TYPE_INT64, &u)) + if (!dbus_message_iter_append_basic(i, DBUS_TYPE_INT64, &l)) return -ENOMEM; return 0;