From 68851e84a6f2a636bc9f8d0d123e72f59bed8bfe Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Wed, 5 Dec 2012 14:57:46 +0100 Subject: [PATCH] session: Fix error case handling There is no need to unref the pending message, because in all cases we generate a reply message which takes care of unrefing the message. Hence the dbus_message_unref() is not needed. Furthermore, we need to pass the created error message to the bus via g_dbus_send_message() so that the client gets always a response. --- src/session.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/session.c b/src/session.c index 3273c67..7ffeedc 100644 --- a/src/session.c +++ b/src/session.c @@ -1689,11 +1689,12 @@ static void session_create_cb(struct connman_session *session, out: if (err < 0) { - __connman_error_failed(user_config->pending, -err); + reply = __connman_error_failed(user_config->pending, -err); + g_dbus_send_message(connection, reply); + free_session(session); } - dbus_message_unref(user_config->pending); g_free(user_config); } -- 2.7.4