]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mail_search_arg_to_imap() - Fix writing invalid keywords
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 27 Apr 2017 09:54:20 +0000 (12:54 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 27 Apr 2017 09:54:20 +0000 (12:54 +0300)
Just write the original invalid keyword string as output. It might not be
entirely invalid - just invalid within this mailbox (e.g. a mailbox doesn't
allow new keywords).

src/lib-storage/mail-search-args-imap.c

index 1205ebee9e6360d952532be6db2d5440ee4548fd..9d24d18be227e623daa10debcb62c5f0fcbaf9a8 100644 (file)
@@ -112,12 +112,11 @@ bool mail_search_arg_to_imap(string_t *dest, const struct mail_search_arg *arg,
                const char *const *namep;
                unsigned int i;
 
-               if (kw == NULL) {
-                       /* uninitialized */
+               if (kw == NULL || kw->count == 0) {
+                       /* uninitialized / invalid keyword */
                        str_printfa(dest, "KEYWORD %s", arg->value.str);
                        break;
                }
-               i_assert(kw->count > 0);
 
                names_arr = mail_index_get_keywords(kw->index);