From 979cf340ec0a7774c4137360a7832b4f689ac413 Mon Sep 17 00:00:00 2001 From: Roberto Ricci Date: Mon, 19 Sep 2022 16:02:59 +0200 Subject: [PATCH] ascli_refresh_cache: fix NULL pointer dereference The command `appstreamcli refresh-cache --cachepath /tmp/cache` segfaults. In this code path, `ret` (initialized to `FALSE`) is not updated when `as_pool_load` returns successfully and sets the `error` pointer to NULL. Then the code tries to print `error->message`. --- tools/ascli-actions-mdata.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/ascli-actions-mdata.c b/tools/ascli-actions-mdata.c index c77773da..30bfd325 100644 --- a/tools/ascli-actions-mdata.c +++ b/tools/ascli-actions-mdata.c @@ -81,7 +81,7 @@ ascli_refresh_cache (const gchar *cachepath, ret = as_pool_refresh_system_cache (pool, forced, &cache_updated, &error); } else { as_pool_override_cache_locations (pool, cachepath, NULL); - as_pool_load (pool, NULL, &error); + ret = as_pool_load (pool, NULL, &error); cache_updated = TRUE; }