We shouldn't be going through the accessor that does a bunch of
unnecessary legwork, including potentially loading the pkgcache right
before we free it.

Signed-off-by: Dan McGee <[email protected]>
---
 lib/libalpm/db.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 765448d..7708d18 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -508,9 +508,11 @@ void _alpm_db_free_pkgcache(alpm_db_t *db)
        _alpm_log(db->handle, ALPM_LOG_DEBUG,
                        "freeing package cache for repository '%s'\n", 
db->treename);
 
-       alpm_list_free_inner(_alpm_db_get_pkgcache(db),
+       if(db->pkgcache) {
+               alpm_list_free_inner(db->pkgcache->list,
                                (alpm_list_fn_free)_alpm_pkg_free);
-       _alpm_pkghash_free(db->pkgcache);
+               _alpm_pkghash_free(db->pkgcache);
+       }
        db->status &= ~DB_STATUS_PKGCACHE;
 
        free_groupcache(db);
-- 
1.7.6.1


Reply via email to