If the user opted not to remove the unresolvable packages from the transaction, the list was neither free'd nor saved to the transaction to be free'd in trans_release. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> --- This supersedes patch 1/8 (avoid double freeing unresovable packages) as well, which was only necessary because the previous version made it possible for packages to be in both trans->add and trans-unresolvable. lib/libalpm/sync.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index fb13324..c6c50a4 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -460,6 +460,7 @@ int _alpm_sync_prepare(alpm_handle_t *handle, alpm_list_t **data) /* pm_errno was set by resolvedeps, callback may have overwrote it */ handle->pm_errno = ALPM_ERR_UNSATISFIED_DEPS; alpm_list_free(resolved); + alpm_list_free(unresolvable); ret = -1; goto cleanup; } -- 1.8.5.3