diff options
author | Chantry Xavier <shiningxc@gmail.com> | 2008-01-13 01:55:08 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2008-01-13 12:21:21 -0600 |
commit | ab506f77c04a481782d9e53c6a285227f58f5cf7 (patch) | |
tree | 90852ab138ff0ca3f723561728effdf08777e9e0 /lib/libalpm/util.c | |
parent | 3de21473768c1801833a10a1872ce7612e8edb59 (diff) | |
download | pacman-ab506f77c04a481782d9e53c6a285227f58f5cf7.tar.xz |
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.
Fixes FS#9186.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Diffstat (limited to 'lib/libalpm/util.c')
-rw-r--r-- | 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 64006d1f..d09b9b14 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")); |