Mercurial > dovecot > original-hg > dovecot-1.2
changeset 8932:99ecc7f748a8 HEAD
mail_search_args_deinit(): Always deinitialize, even when there are extra references.
This fixes at least a crash with virtual mailboxes where the same same args
may be referenced for multiple mailboxes.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 08 Apr 2009 18:30:06 -0400 |
parents | e5633843c336 |
children | a5bc67646c66 |
files | src/lib-storage/mail-search.c |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/mail-search.c Wed Apr 08 18:17:02 2009 -0400 +++ b/src/lib-storage/mail-search.c Wed Apr 08 18:30:06 2009 -0400 @@ -126,6 +126,7 @@ i_assert(args->box == box); return; } + args->initialized = TRUE; args->box = box; if (!args->simplified) @@ -167,7 +168,7 @@ void mail_search_args_deinit(struct mail_search_args *args) { - if (args->refcount > 1 || !args->initialized) + if (!args->initialized) return; mail_search_args_deinit_sub(args, args->args);