From 0a25548cd0910f66dea2dfab21f75a6d15366d64 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Thu, 23 Jan 2020 06:38:35 +0000 Subject: libalpm: fix alpm_option_set_assumeinstalled It looks like this function has never actually worked. The current list is never set to NULL after being freed. So the new deps were just appended to the already freed list, leading to a segfault. Signed-off-by: Allan McRae --- lib/libalpm/handle.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c index e3193f40..23464045 100644 --- a/lib/libalpm/handle.c +++ b/lib/libalpm/handle.c @@ -690,6 +690,7 @@ int SYMEXPORT alpm_option_set_assumeinstalled(alpm_handle_t *handle, alpm_list_t if(handle->assumeinstalled) { alpm_list_free_inner(handle->assumeinstalled, (alpm_list_fn_free)alpm_dep_free); alpm_list_free(handle->assumeinstalled); + handle->assumeinstalled = NULL; } while(deps) { if(alpm_option_add_assumeinstalled(handle, deps->data) != 0) { -- cgit v1.2.3-54-g00ecf