From: Timo Sirainen Date: Mon, 23 Aug 2010 14:31:37 +0000 (+0100) Subject: imap: Fixed parsing SELECT QRESYNC parameters X-Git-Tag: 2.0.1~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2cbe7654b79547ba47b551cc6c1f59d430e75de9;p=thirdparty%2Fdovecot%2Fcore.git imap: Fixed parsing SELECT QRESYNC parameters --- diff --git a/src/imap/cmd-select.c b/src/imap/cmd-select.c index 67f2c0c980..cde12da9f7 100644 --- a/src/imap/cmd-select.c +++ b/src/imap/cmd-select.c @@ -130,23 +130,22 @@ select_parse_qresync(struct imap_select_context *ctx, } args += 2; - if (!imap_arg_get_atom(args, &str)) { - i_array_init(&ctx->qresync_known_uids, 64); - seq_range_array_add_range(&ctx->qresync_known_uids, - 1, (uint32_t)-1); - } else { - i_array_init(&ctx->qresync_known_uids, 64); + i_array_init(&ctx->qresync_known_uids, 64); + if (imap_arg_get_atom(args, &str)) { if (imap_seq_set_nostar_parse(str, &ctx->qresync_known_uids) < 0) { client_send_command_error(ctx->cmd, "Invalid QRESYNC known-uids"); return FALSE; } args++; - if (imap_arg_get_list(args, &list_args)) { - if (!select_parse_qresync_known_set(ctx, list_args)) - return FALSE; - args++; - } + } else { + seq_range_array_add_range(&ctx->qresync_known_uids, + 1, (uint32_t)-1); + } + if (imap_arg_get_list(args, &list_args)) { + if (!select_parse_qresync_known_set(ctx, list_args)) + return FALSE; + args++; } if (!IMAP_ARG_IS_EOL(args)) { client_send_command_error(ctx->cmd,