changeset 7996:fa90c913eae4 HEAD

Maildir: If filename has CR or LF, log a warning and ignore it instead of writing a corrupted dovecot-uidlist.
author Timo Sirainen <tss@iki.fi>
date Sat, 12 Jul 2008 16:16:19 +0300
parents 907835a6595c
children 0d66b44689ee
files src/lib-storage/index/maildir/maildir-uidlist.c
diffstat 1 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Sat Jul 12 15:49:01 2008 +0300
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c	Sat Jul 12 16:16:19 2008 +0300
@@ -1370,10 +1370,19 @@
 {
 	struct maildir_uidlist *uidlist = ctx->uidlist;
 	struct maildir_uidlist_rec *rec, *old_rec;
+	const char *p;
 
 	if (ctx->failed)
 		return -1;
 
+	for (p = filename; *p != '\0'; p++) {
+		if (*p == 13 || *p == 10) {
+			i_warning("Maildir %s: Ignoring a file with #0x%x: %s",
+				  uidlist->mbox->path, *p, filename);
+			return 1;
+		}
+	}
+
 	if (ctx->partial) {
 		maildir_uidlist_sync_next_partial(ctx, filename, flags);
 		return 1;