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@xxxxxxxxxx> --- 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); -- 2.21.0 _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo