Mercurial > dovecot > original-hg > dovecot-1.2
changeset 8031:be8550f51b02 HEAD
fs quota: Don't crash if some mail storages are outside known mountpoints.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 20 Jul 2008 21:48:26 +0300 |
parents | 7fdb5f222d95 |
children | fa2bd47fc59c |
files | src/plugins/quota/quota-fs.c |
diffstat | 1 files changed, 14 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/quota/quota-fs.c Sun Jul 20 21:37:53 2008 +0300 +++ b/src/plugins/quota/quota-fs.c Sun Jul 20 21:48:26 2008 +0300 @@ -232,7 +232,8 @@ continue; mount = fs_quota_mountpoint_get(root->storage_mount_path); - fs_quota_mount_init(root, mount); + if (mount != NULL) + fs_quota_mount_init(root, mount); } } @@ -246,17 +247,19 @@ dir = mail_storage_get_mailbox_path(storage, "", &is_file); mount = fs_quota_mountpoint_get(dir); - if (quota->debug) { - i_info("fs quota add storage dir = %s", dir); - i_info("fs quota block device = %s", mount->device_path); - i_info("fs quota mount point = %s", mount->mount_path); - } + if (mount != NULL) { + if (quota->debug) { + i_info("fs quota add storage dir = %s", dir); + i_info("fs quota block device = %s", mount->device_path); + i_info("fs quota mount point = %s", mount->mount_path); + } - root = fs_quota_root_find_mountpoint(quota, mount); - if (root != NULL && root->mount == NULL) - fs_quota_mount_init(root, mount); - else - fs_quota_mountpoint_free(mount); + root = fs_quota_root_find_mountpoint(quota, mount); + if (root != NULL && root->mount == NULL) + fs_quota_mount_init(root, mount); + else + fs_quota_mountpoint_free(mount); + } /* we would actually want to do this only once after all quota roots are created, but there's no way to do this right now */