[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Libosinfo] [libosinfo PATCH v2 3/3] tree: cleanup on any error & return on _create_from_location_async_helper()

When calling a g_task_return_error(), we should also cleanup the
CreateFromLocationAsyncData and return immediately after that.

By doing so we avoid errors as:
g_task_return_error: assertion 'task->ever_returned' failed.

Signed-off-by: Fabiano Fidêncio <fidencio redhat com>
 osinfo/osinfo_tree.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/osinfo/osinfo_tree.c b/osinfo/osinfo_tree.c
index b65d399..1524b94 100644
--- a/osinfo/osinfo_tree.c
+++ b/osinfo/osinfo_tree.c
@@ -758,6 +758,8 @@ osinfo_tree_create_from_location_async_helper(CreateFromLocationAsyncData *data,
                             _("URL protocol is not supported"));
         g_task_return_error(data->res, error);
+        create_from_location_async_data_free(data);
+        return;
     location = g_strdup_printf("%s/%s", data->location, treeinfo);

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]