From 658d3e1c4b58281c35241123973f5447f812764f Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 26 May 2008 18:49:35 +0300 Subject: [PATCH] If dovecot-uidlist contains a filename with '/', log an error and recreate the uidlist instead of assert-crashing. --HG-- branch : HEAD --- src/lib-storage/index/maildir/maildir-uidlist.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lib-storage/index/maildir/maildir-uidlist.c b/src/lib-storage/index/maildir/maildir-uidlist.c index fd6e051c28..95db7e38ec 100644 --- a/src/lib-storage/index/maildir/maildir-uidlist.c +++ b/src/lib-storage/index/maildir/maildir-uidlist.c @@ -430,6 +430,13 @@ static bool maildir_uidlist_next(struct maildir_uidlist *uidlist, } } + if (strchr(line, '/') != NULL) { + maildir_uidlist_set_corrupted(uidlist, + "%s: Broken filename at line %u: %s", + uidlist->path, uidlist->read_line_count, line); + return 0; + } + old_rec = hash_lookup(uidlist->files, line); if (old_rec != NULL) { /* This can happen if expunged file is moved back and the file -- 2.47.3