summaryrefslogtreecommitdiffstats
path: root/gdbus
diff options
context:
space:
mode:
authorAnderson Lizardo <anderson.lizardo@openbossa.org>2013-05-04 15:39:43 -0400
committerMarcel Holtmann <marcel@holtmann.org>2013-05-08 11:28:11 +0200
commit1c75edf59aeeafd75dd531e076cdbdccd8150bf6 (patch)
treedc8d47853e572e25b867cc20e206ff9bb73e264c /gdbus
parent4059dd878c7d1f38d39e43520b832604ec235e7d (diff)
downloadofono-1c75edf59aeeafd75dd531e076cdbdccd8150bf6.tar.bz2
gdbus: Fix using NULL DBusPendingCall when disconnected from D-Bus
From D-Bus documentation for dbus_connection_send_with_reply(): "Warning: if the connection is disconnected or you try to send Unix file descriptors on a connection that does not support them, the DBusPendingCall will be set to NULL, so be careful with this." Fix these errors when killing D-Bus daemon with the client still running: process 5712: arguments to dbus_pending_call_set_notify() were incorrect, assertion "pending != NULL" failed in file ../../dbus/dbus-pending-call.c line 596. This is normally a bug in some application using the D-Bus library. process 5712: arguments to dbus_pending_call_unref() were incorrect, assertion "pending != NULL" failed in file ../../dbus/dbus-pending-call.c line 572. This is normally a bug in some application using the D-Bus library.
Diffstat (limited to 'gdbus')
-rw-r--r--gdbus/client.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdbus/client.c b/gdbus/client.c
index a21b66a1..f700b7ee 100644
--- a/gdbus/client.c
+++ b/gdbus/client.c
@@ -105,6 +105,11 @@ static gboolean modify_match(DBusConnection *conn, const char *member,
return FALSE;
}
+ if (call == NULL) {
+ dbus_message_unref(msg);
+ return FALSE;
+ }
+
dbus_pending_call_set_notify(call, modify_match_reply, NULL, NULL);
dbus_pending_call_unref(call);