diskspace: canonicalize path to download dir

With lazy loading in place, it's now quite obvious that we aren't
necessarily checking the right mountpoint for necessary download space.

Signed-off-by: Dave Reisner <dreisner@archlinux.org>
This commit is contained in:
Dave Reisner 2012-04-29 18:26:13 -04:00 committed by Dan McGee
parent ac990b96e7
commit 9ce4f80db4

View file

@ -325,9 +325,17 @@ int _alpm_check_downloadspace(alpm_handle_t *handle, const char *cachedir,
{
alpm_list_t *mount_points;
alpm_mountpoint_t *cachedir_mp;
char resolved_cachedir[PATH_MAX];
size_t j;
int error = 0;
/* resolve the cachedir path to ensure we check the right mountpoint. We
* handle failures silently, and continue to use the possibly unresolved
* path. */
if(realpath(cachedir, resolved_cachedir) != NULL) {
cachedir = resolved_cachedir;
}
mount_points = mount_point_list(handle);
if(mount_points == NULL) {
_alpm_log(handle, ALPM_LOG_ERROR, _("could not determine filesystem mount points\n"));