AppStream: fix segfault when updating the cache

This commit is contained in:
Roberto Ricci 2022-09-19 17:18:49 +02:00 committed by Michal Vasilek
parent 64198b34d6
commit 84b975453d
2 changed files with 30 additions and 1 deletions

View File

@ -0,0 +1,29 @@
https://github.com/ximion/appstream/pull/432
From: Roberto Ricci <ricci@disroot.org>
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;
}
--
2.37.3

View File

@ -1,7 +1,7 @@
# Template file for 'AppStream'
pkgname=AppStream
version=0.15.5
revision=1
revision=2
wrksrc="appstream-${version}"
build_style=meson
build_helper="gir qemu"