Mercurial > dovecot > core-2.2
changeset 22200:171b3599cc0f
lib-storage: mail_search_args_simplify() - Fix merging already-initialized keywords
It was deinitializing the arg that was kept instead of the one being removed.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Wed, 07 Jun 2017 19:53:00 +0300 |
parents | 83955bbf1b3a |
children | 1411caa97648 |
files | src/lib-storage/mail-search-args-simplify.c |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/mail-search-args-simplify.c Wed Jun 07 19:37:46 2017 +0300 +++ b/src/lib-storage/mail-search-args-simplify.c Wed Jun 07 19:53:00 2017 +0300 @@ -97,11 +97,14 @@ *prev_argp = args; return FALSE; } + if (ctx->initialized) - mail_search_arg_one_deinit(*prev_argp); + mail_search_arg_one_deinit(args); if ((*prev_argp)->match_not != args->match_not) { /* a && !a = 0 */ + if (ctx->initialized) + mail_search_arg_one_deinit(*prev_argp); (*prev_argp)->type = SEARCH_ALL; (*prev_argp)->match_not = ctx->parent_and; }