Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=354dff7d5921228af7b5dab899392714b6e35c68
commit 354dff7d5921228af7b5dab899392714b6e35c68 Author: James Buren <[email protected]> Date: Thu Sep 6 05:16:28 2012 -0500 really fix the PM_LIST leakage in _pacman_sync_prepare() this time diff --git a/lib/libpacman/sync.c b/lib/libpacman/sync.c index 76db40c..df6cd43 100644 --- a/lib/libpacman/sync.c +++ b/lib/libpacman/sync.c @@ -255,7 +255,7 @@ int _pacman_sync_prepare(pmtrans_t *trans, pmlist_t **data) pmlist_t *list = NULL; /* list allowing checkdeps usage with data from trans->packages */ pmlist_t *trail = NULL; /* breadcrum list to avoid running into circles */ pmlist_t *asked = NULL; - pmlist_t *i, *j, *k, *l; + pmlist_t *i, *j, *k, *l, *m; int ret = 0; pmdb_t *db_local = trans->handle->db_local; pmlist_t *dbs_sync = trans->handle->dbs_sync; @@ -314,8 +314,8 @@ int _pacman_sync_prepare(pmtrans_t *trans, pmlist_t **data) pmsyncpkg_t *s = (pmsyncpkg_t*)i->data; k = _pacman_list_add(k, s->pkg); } - k = _pacman_sortbydeps(k, PM_TRANS_TYPE_ADD); - for(i=k; i; i=i->next) { + m = _pacman_sortbydeps(k, PM_TRANS_TYPE_ADD); + for(i=m; i; i=i->next) { for(j=trans->packages; j; j=j->next) { pmsyncpkg_t *s = (pmsyncpkg_t*)j->data; if(s->pkg==i->data) { @@ -323,6 +323,8 @@ int _pacman_sync_prepare(pmtrans_t *trans, pmlist_t **data) } } } + FREELISTPTR(k); + FREELISTPTR(m); FREELISTPTR(trans->packages); trans->packages = l; _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
