if (g_unix_fd_list_append(fd_list, fd, &error) == -1) {
LOGE("g_unix_fd_list_append error: %s\n", ERR_TEXT(error));
+ g_object_unref(fd_list);
return NULL;
}
return fd_list;
assert(parameters);
assert(fd_list);
+ GDBusMessage *message = NULL;
+ char *new_name = NULL;
+
GVariant *args = g_variant_get_child_value(parameters, 0);
GVariant *name = g_variant_get_child_value(parameters, 1);
-
const char *name_str = g_variant_get_string(name, NULL);
- char *new_name = NULL;
+
if (asprintf(&new_name, "%s.%s", DUMPSYS_SERVICE_NAME_PREFIX, name_str) == -1) {
LOGE("asprintf() error: %m\n");
- return NULL;
+ goto out;
}
- GDBusMessage *message = g_dbus_message_new_method_call(new_name,
- DUMPSYS_PATH,
- DUMPSYS_NAME,
- METHOD_DUMP);
-
- g_variant_unref(name);
+ message = g_dbus_message_new_method_call(new_name,
+ DUMPSYS_PATH,
+ DUMPSYS_NAME,
+ METHOD_DUMP);
GVariant *args_tuple = g_variant_new_tuple(&args, 1);
- g_variant_unref(args);
g_dbus_message_set_body(message, args_tuple);
g_dbus_message_set_unix_fd_list(message, fd_list);
free(new_name);
+out:
+ g_variant_unref(args);
+ g_variant_unref(name);
return message;
}