diff options
author | Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com> | 2013-02-08 15:58:10 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2013-02-23 12:47:24 +0200 |
commit | 668a93d4b8f633c8bd4e7a81a2ba910e3e26a752 (patch) | |
tree | f596f61fa96df7115d4e96ed1868137de10b458c /gdbus | |
parent | b05c3bdf3ce65e9acadd3f4ccc5749949411fb70 (diff) | |
download | bluez-668a93d4b8f633c8bd4e7a81a2ba910e3e26a752.tar.gz |
gdbus: Always unreference the message in g_dbus_send_message()
A quick fix on g_dbus_send_message(), if check_signal() fails it returns
FALSE without unreferencing the message as it should. This patch fixes
it.
Diffstat (limited to 'gdbus')
-rw-r--r-- | gdbus/object.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gdbus/object.c b/gdbus/object.c index 43fb1f060..2f8ef453d 100644 --- a/gdbus/object.c +++ b/gdbus/object.c @@ -1496,7 +1496,7 @@ DBusMessage *g_dbus_create_reply(DBusMessage *message, int type, ...) gboolean g_dbus_send_message(DBusConnection *connection, DBusMessage *message) { - dbus_bool_t result; + dbus_bool_t result = FALSE; if (dbus_message_get_type(message) == DBUS_MESSAGE_TYPE_METHOD_CALL) dbus_message_set_no_reply(message, TRUE); @@ -1507,11 +1507,12 @@ gboolean g_dbus_send_message(DBusConnection *connection, DBusMessage *message) const GDBusArgInfo *args; if (!check_signal(connection, path, interface, name, &args)) - return FALSE; + goto out; } result = dbus_connection_send(connection, message, NULL); +out: dbus_message_unref(message); return result; |