diff options
author | morganamilo <morganamilo@archlinux.org> | 2020-01-23 07:38:35 +0100 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2020-01-28 01:46:27 +0100 |
commit | 0a25548cd0910f66dea2dfab21f75a6d15366d64 (patch) | |
tree | a1116877ebd64d3d7bd2695df0de29305d0b2747 /lib/libalpm | |
parent | 21af79860403f9120d2c0412a95ec97d06368e11 (diff) | |
download | pacman-0a25548cd0910f66dea2dfab21f75a6d15366d64.tar.gz pacman-0a25548cd0910f66dea2dfab21f75a6d15366d64.tar.xz |
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 <allan@archlinux.org>
Diffstat (limited to 'lib/libalpm')
-rw-r--r-- | lib/libalpm/handle.c | 1 |
1 files changed, 1 insertions, 0 deletions
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) { |