summaryrefslogtreecommitdiffstats
path: root/maildir/maildirquota.c
diff options
context:
space:
mode:
authorSam Varshavchik2017-06-17 11:03:49 -0400
committerSam Varshavchik2017-06-17 11:03:49 -0400
commitc66f55920f446f3e4ddb603496bb4f9d42559ea2 (patch)
tree503fa4501ac7a50db27cd40267955e1291021f39 /maildir/maildirquota.c
parentb96c6fa91b1bfec8a948eb030c313e1a1a7369f9 (diff)
downloadcourier-libs-c66f55920f446f3e4ddb603496bb4f9d42559ea2.tar.bz2
Skip symlinks when recalculating current maildir quota.
Diffstat (limited to 'maildir/maildirquota.c')
-rw-r--r--maildir/maildirquota.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/maildir/maildirquota.c b/maildir/maildirquota.c
index 3f3e0bd..70f05a7 100644
--- a/maildir/maildirquota.c
+++ b/maildir/maildirquota.c
@@ -454,6 +454,9 @@ static int docheckquota(struct maildirsize *info,
dirp=opendir(info->maildir);
while (dirp && (de=readdir(dirp)) != 0)
{
+#ifdef DT_LNK
+ if (de->d_type == DT_LNK) continue;
+#endif
if (countsubdir(info->maildir, de->d_name,
&maxtime, &maildirsize_size,
&maildirsize_cnt))
@@ -520,6 +523,9 @@ static int docheckquota(struct maildirsize *info,
dirp=opendir(info->maildir);
while (dirp && (de=readdir(dirp)) != 0)
{
+#ifdef DT_LNK
+ if (de->d_type == DT_LNK) continue;
+#endif
if (statsubdir(info->maildir, de->d_name, &tm))
{
errno=EIO;