From 5be81e71fb465afef3c3c91d1ccdf7c2e552b548 Mon Sep 17 00:00:00 2001 From: Chantry Xavier Date: Sun, 13 Jan 2008 01:55:08 +0100 Subject: [PATCH] util.c : fix segfault when the cachedir isn't usable. For example, if the cachedir is a broken symlink or a non writable directory, pacman fallbacks to /tmp/. Just before doing that, it freed the handle->cachedirs list twice ! once in _alpm_filecache_setup, and once in alpm_option_set_cachedirs. So the first one was removed. Signed-off-by: Chantry Xavier --- lib/libalpm/util.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index 64006d1..d09b9b1 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -582,9 +582,7 @@ const char *_alpm_filecache_setup(void) } /* we didn't find a valid cache directory. use /tmp. */ - i = alpm_option_get_cachedirs(); tmp = alpm_list_add(NULL, strdup("/tmp/")); - FREELIST(i); alpm_option_set_cachedirs(tmp); _alpm_log(PM_LOG_DEBUG, "using cachedir: %s", "/tmp/\n"); _alpm_log(PM_LOG_WARNING, _("couldn't create package cache, using /tmp instead\n")); -- 1.5.4.rc3