diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libalpm/remove.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c index a4c3c15c..c4e44398 100644 --- a/lib/libalpm/remove.c +++ b/lib/libalpm/remove.c @@ -301,11 +301,12 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db) int filenum = alpm_list_count(files); double percent = 0.0; + alpm_list_t *newfiles; _alpm_log(PM_LOG_DEBUG, "removing %d files\n", filenum); /* iterate through the list backwards, unlinking files */ - files = alpm_list_reverse(files); - for(lp = files; lp; lp = alpm_list_next(lp)) { + newfiles = alpm_list_reverse(files); + for(lp = newfiles; lp; lp = alpm_list_next(lp)) { unlink_file(info, lp, trans); /* update progress bar after each file */ @@ -315,6 +316,7 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db) (pkg_count - alpm_list_count(targ) + 1)); position++; } + free(newfiles); } /* set progress to 100% after we finish unlinking files */ |