summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Chantry <shiningxc@gmail.com>2009-09-08 00:45:56 +0200
committerDan McGee <dan@archlinux.org>2009-09-08 21:43:06 -0500
commita2cd48960e33043f75c81e0ecbc2d33b20b695fe (patch)
tree9a70e1d291fa5978536e80e5181e4bd0bbaf3fbb
parent2e7c569950f3a6f651fb4850cb320068e2261198 (diff)
downloadpacman-a2cd48960e33043f75c81e0ecbc2d33b20b695fe.tar.xz
Fix a memleak involving lazy DB loading
Lazy opening of databases is supported since 34e1413d75. We don't need that setlibpath call each time we register a database. Besides this caused a memleak in case setlibpath failed, because setlibpath exit directly and we did not do the cleanup part (section string was not freed, and a file descriptor remained open). Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--src/pacman/pacman.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index 77c558d1..92aa4954 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -749,11 +749,8 @@ static int _parseconfig(const char *file, const char *givensection,
ret = 1;
goto cleanup;
}
- /* if we are not looking at the options section, register a db and also
- * ensure we have set all of our library paths as the library is too stupid
- * at the moment to do lazy opening of the databases */
+ /* if we are not looking at the options section, register a db */
if(strcmp(section, "options") != 0) {
- setlibpaths();
db = alpm_db_register_sync(section);
if(db == NULL) {
pm_printf(PM_LOG_ERROR, _("could not register '%s' database (%s)\n"),