summaryrefslogtreecommitdiffstats
path: root/mboxd_dbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'mboxd_dbus.c')
-rw-r--r--mboxd_dbus.c29
1 files changed, 24 insertions, 5 deletions
diff --git a/mboxd_dbus.c b/mboxd_dbus.c
index 3b09bb1..a72e48b 100644
--- a/mboxd_dbus.c
+++ b/mboxd_dbus.c
@@ -314,12 +314,31 @@ out:
if (rc < 0) {
resp.cmd = -rc;
}
- sd_bus_message_new_method_return(m, &n); /* Generate response */
- sd_bus_message_append(n, "y", resp.cmd); /* Set return code */
- sd_bus_message_append_array(n, 'y', resp.args, resp.num_args);
- sd_bus_send(sd_bus_message_get_bus(m), n, NULL); /* Send response */
+ rc = sd_bus_message_new_method_return(m, &n); /* Generate response */
+ if (rc < 0) {
+ MSG_ERR("sd_bus_message_new_method_return failed: %d\n", rc);
+ goto cleanup;
+ }
+
+ rc = sd_bus_message_append(n, "y", resp.cmd); /* Set return code */
+ if (rc < 0) {
+ MSG_ERR("sd_bus_message_append failed: %d\n", rc);
+ goto cleanup;
+ }
+
+ rc = sd_bus_message_append_array(n, 'y', resp.args, resp.num_args);
+ if (rc < 0) {
+ MSG_ERR("sd_bus_message_append_array failed: %d\n", rc);
+ goto cleanup;
+ }
+
+ rc = sd_bus_send(NULL, n, NULL); /* Send response */
+ if (rc < 0)
+ MSG_ERR("sd_bus_send failed: %d\n", rc);
+
+cleanup:
free(resp.args);
- return 0;
+ return rc;
}
static const sd_bus_vtable mboxd_vtable[] = {
OpenPOWER on IntegriCloud