Message ID | 20200123063834.92700-1-morganamilo@archlinux.org |
---|---|
State | Accepted, archived |
Headers | show |
Series | [pacman-dev] libalpm: fix alpm_option_set_assumeinstalled | expand |
On 23/1/20 4:38 pm, morganamilo wrote: > 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. Good spotting. Patch is good. A
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) {