Clear Gerror before exit 21/178621/1
authorKichan Kwon <k_c.kwon@samsung.com>
Fri, 11 May 2018 02:14:50 +0000 (11:14 +0900)
committerKichan Kwon <k_c.kwon@samsung.com>
Fri, 11 May 2018 02:14:50 +0000 (11:14 +0900)
Change-Id: I0915d884811234dd8e36a6788bd3a6b1d531c01b
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
src/common/dbus-handler.c

index aa2f4aa67351c692946ea051bce18940a7367e72..8d2ed19fba65b54c4d8479d04b6cc8cc041002fc 100644 (file)
@@ -390,20 +390,24 @@ resourced_ret_c d_bus_register_methods(const char *path, const char *xml,
        handle->node_info = g_dbus_node_info_new_for_xml(xml, &err);
        if (!handle->node_info) {
                _E("Failed to make node_info : %s", err->message);
-               free(handle);
-               return RESOURCED_ERROR_FAIL;
+               goto on_error;
        }
 
        handle->subscription_id = g_dbus_connection_register_object(d_bus_get_connection(),
                        path, handle->node_info->interfaces[0], &vtable, (gpointer)handle, NULL, &err);
        if (!handle->subscription_id) {
                _E("Failed to register gdbus methods with path %s : %s", path, err->message);
-               free(handle);
-               return RESOURCED_ERROR_FAIL;
+               goto on_error;
        } else
                dbus_method_handle_list = g_list_append(dbus_method_handle_list, (gpointer)handle);
 
        return RESOURCED_ERROR_NONE;
+
+on_error:
+       g_clear_error(&err);
+       free(handle);
+
+       return RESOURCED_ERROR_FAIL;
 }
 
 resourced_ret_c d_bus_register_signals(const struct d_bus_signal *signals, const size_t size)
@@ -437,9 +441,11 @@ resourced_ret_c d_bus_reply_message(GDBusMessage *msg)
        if (!g_dbus_connection_send_message(d_bus_get_connection(), msg,
                                G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, &err)) {
                _E("Fail to reply gdbus message");
+               g_clear_error(&err);
                return RESOURCED_ERROR_FAIL;
        }
 
+       g_clear_error(&err);
        return RESOURCED_ERROR_NONE;
 }