From: Ales Kozumplik Date: Tue, 23 Sep 2014 12:19:22 +0000 (+0200) Subject: repo_rpmdb's freestate() can free rootdir only after closedbenv() finishes. X-Git-Tag: 0.6.6~6^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F57%2Fhead;p=thirdparty%2Flibsolv.git repo_rpmdb's freestate() can free rootdir only after closedbenv() finishes. Because serialize_dbenv_ops() still uses rootdir. --- diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c index c4ad78fa..b4541c39 100644 --- a/ext/repo_rpmdb.c +++ b/ext/repo_rpmdb.c @@ -1414,12 +1414,12 @@ freestate(struct rpmdbstate *state) /* close down */ if (!state) return; - if (state->rootdir) - solv_free(state->rootdir); if (state->db) state->db->close(state->db, 0); if (state->dbenv) closedbenv(state); + if (state->rootdir) + solv_free(state->rootdir); solv_free(state->rpmhead); }