]> 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)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Thu, 11 May 2017 10:05:01 +0000 (13:05 +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 0f6400423d2993f781ff8a6cf11c45796bf86c93..32e748523c62dd88680b5d6ee93639d1b3a4cdaa 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);