diff --git a/src/plugins/imap-filter-sieve/cmd-filter-sieve.c b/src/plugins/imap-filter-sieve/cmd-filter-sieve.c index 8e85a92eb7799e07991ddc734885c85a1c0ea7e8..0d0e77c5bf77cb7f91ca9703f5ac469dae83e054 100644 --- a/src/plugins/imap-filter-sieve/cmd-filter-sieve.c +++ b/src/plugins/imap-filter-sieve/cmd-filter-sieve.c @@ -316,18 +316,11 @@ cmd_filter_sieve_script_parse_value(struct client_command_context *cmd) if (ctx->script_input != NULL) { if ((ret=cmd_filter_sieve_script_read_stream(ctx)) == 0) return FALSE; - if (ret < 0) { - imap_filter_deinit(ctx); - return TRUE; - } - - imap_parser_reset(ctx->parser); - cmd->func = imap_filter_search; - return imap_filter_search(cmd); + } else { + if ((ret=cmd_filter_sieve_script_parse_value_arg(ctx)) == 0) + return FALSE; } - if ((ret=cmd_filter_sieve_script_parse_value_arg(ctx)) == 0) - return FALSE; if (ret < 0) { /* already sent the error to client */ ; imap_filter_deinit(ctx);