summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2010-05-28 16:56:42 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2010-06-03 17:08:10 +0200
commitaa46fed658fee6897d223eb754a5869446954b54 (patch)
tree19c5438d80db725f154ac208d198dcde2932b314
parentd481c0ef0cc7c81e05a002c3de7fa1dd44dc17f1 (diff)
downloadjson-dbus-bridge-aa46fed658fee6897d223eb754a5869446954b54.tar.gz
json-dbus-bridge-aa46fed658fee6897d223eb754a5869446954b54.tar.xz
[src] fix double dbus_message_unref() on error
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--src/bridge_request.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/bridge_request.c b/src/bridge_request.c
index bc71afe..ec5c63f 100644
--- a/src/bridge_request.c
+++ b/src/bridge_request.c
@@ -603,8 +603,10 @@ int bridge_request_to_dbus(bridge_request_t *self, struct json_object *in_json,
return ENOMEM;
}
dbus_message_iter_init_append(*out_dbus, &it);
- if ((ret = bridge_request_dbus_params(self, params, &it)) != 0)
+ if ((ret = bridge_request_dbus_params(self, params, &it)) != 0) {
dbus_message_unref(*out_dbus);
+ *out_dbus = NULL;
+ }
return ret;
}
@@ -660,7 +662,7 @@ int bridge_request_call_json_dbus(bridge_request_t *self, struct json_object *in
DBusPendingCall *pending;
if ((ret = bridge_request_to_dbus(self, in_json, &msg)) != 0)
- goto send_fail;
+ return ret;
if (!dbus_connection_send_with_reply(self->dbus_connection, msg,
&pending, -1)) {