dovecot-1.2: Virtual mailboxes: Fixes to handling invalid config...
dovecot at dovecot.org
dovecot at dovecot.org
Sun Sep 7 20:48:47 EEST 2008
details: http://hg.dovecot.org/dovecot-1.2/rev/c0a80d6b8ef6
changeset: 8172:c0a80d6b8ef6
user: Timo Sirainen <tss at iki.fi>
date: Sun Sep 07 20:48:43 2008 +0300
description:
Virtual mailboxes: Fixes to handling invalid configuration.
diffstat:
1 file changed, 8 insertions(+), 4 deletions(-)
src/plugins/virtual/virtual-config.c | 12 ++++++++----
diffs (27 lines):
diff -r 60b8c2609087 -r c0a80d6b8ef6 src/plugins/virtual/virtual-config.c
--- a/src/plugins/virtual/virtual-config.c Sun Sep 07 20:34:20 2008 +0300
+++ b/src/plugins/virtual/virtual-config.c Sun Sep 07 20:48:43 2008 +0300
@@ -59,8 +59,10 @@ virtual_config_add_rule(struct virtual_p
struct mail_search_args *search_args;
unsigned int i, count;
- if (str_len(ctx->rule) == 0)
+ if (ctx->rule_idx == array_count(&ctx->mbox->backend_boxes)) {
+ i_assert(str_len(ctx->rule) == 0);
return 0;
+ }
search_args = virtual_search_args_parse(ctx->rule, error_r);
str_truncate(ctx->rule, 0);
@@ -257,6 +259,8 @@ void virtual_config_free(struct virtual_
unsigned int i, count;
bboxes = array_get_modifiable(&mbox->backend_boxes, &count);
- for (i = 0; i < count; i++)
- mail_search_args_unref(&bboxes[i]->search_args);
-}
+ for (i = 0; i < count; i++) {
+ if (bboxes[i]->search_args != NULL)
+ mail_search_args_unref(&bboxes[i]->search_args);
+ }
+}
More information about the dovecot-cvs
mailing list