From: Timo Sirainen Date: Fri, 3 Jun 2016 16:18:43 +0000 (+0300) Subject: maildir: Detect duplicate keywords in dovecot-keywords file X-Git-Tag: 2.3.0.rc1~3568 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=32d69cb0794acf725c47e6d17145ec4eb0cd6e7f;p=thirdparty%2Fdovecot%2Fcore.git maildir: Detect duplicate keywords in dovecot-keywords file Use the first such keyword's index, not the last. Also fixes assert-crashing in hash_table_insert() when it happens. --- diff --git a/src/lib-storage/index/maildir/maildir-keywords.c b/src/lib-storage/index/maildir/maildir-keywords.c index bc8d34a738..161bd01286 100644 --- a/src/lib-storage/index/maildir/maildir-keywords.c +++ b/src/lib-storage/index/maildir/maildir-keywords.c @@ -168,7 +168,8 @@ static int maildir_keywords_sync(struct maildir_keywords *mk) *p++ = '\0'; if (str_to_uint(line, &idx) < 0 || - idx >= MAILDIR_MAX_KEYWORDS || *p == '\0') { + idx >= MAILDIR_MAX_KEYWORDS || *p == '\0' || + hash_table_lookup(mk->hash, p) != NULL) { /* shouldn't happen */ continue; }