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.
This commit is contained in:
Tomasz Bursztyka 2013-02-08 15:58:10 +02:00 committed by Marcel Holtmann
parent 93eb1e5d8e
commit 7b0b28bb41
1 changed files with 3 additions and 2 deletions

View File

@ -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;