chiark / gitweb /
sd-daemon: Add sd_is_special for special file descriptors
[elogind.git] / src / dbus-common.c
index fe7f84b119352772173f44d10586c5a2ff891e47..5db077b74fb8115157cd8932ea1a8b98ae70c188 100644 (file)
@@ -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;