summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/sync.c
diff options
context:
space:
mode:
authorAndrew Gregory <andrew.gregory.8@gmail.com>2014-02-07 02:49:07 +0100
committerAllan McRae <allan@archlinux.org>2014-02-08 00:55:35 +0100
commita7da2a47c3f71f52ad1214b4ae78e716ee488a5a (patch)
treeef03f89d28cd9d6010f2eb33a0ff061ff0d5b6b3 /lib/libalpm/sync.c
parent0deeb9991c0c93526a541c8757f611ba63690d55 (diff)
downloadpacman-a7da2a47c3f71f52ad1214b4ae78e716ee488a5a.tar.gz
pacman-a7da2a47c3f71f52ad1214b4ae78e716ee488a5a.tar.xz
_alpm_sync_prepare: fix unresolvable packages leak
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> Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'lib/libalpm/sync.c')
-rw-r--r--lib/libalpm/sync.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index fb133248..c6c50a46 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;
}