dovecot-2.0: mdbox: Error handling fixes.
dovecot at dovecot.org
dovecot at dovecot.org
Thu Jul 1 18:28:19 EEST 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/16e0992583e2
changeset: 11672:16e0992583e2
user: Timo Sirainen <tss at iki.fi>
date: Thu Jul 01 16:28:15 2010 +0100
description:
mdbox: Error handling fixes.
diffstat:
src/lib-storage/index/dbox-multi/mdbox-map.c | 7 +++++--
src/lib-storage/index/dbox-multi/mdbox-save.c | 2 ++
2 files changed, 7 insertions(+), 2 deletions(-)
diffs (34 lines):
diff -r 451852aa0200 -r 16e0992583e2 src/lib-storage/index/dbox-multi/mdbox-map.c
--- a/src/lib-storage/index/dbox-multi/mdbox-map.c Thu Jul 01 15:25:23 2010 +0100
+++ b/src/lib-storage/index/dbox-multi/mdbox-map.c Thu Jul 01 16:28:15 2010 +0100
@@ -481,13 +481,16 @@
*_atomic = NULL;
- if (atomic->success) {
+ if (atomic->sync_ctx == NULL) {
+ /* not locked */
+ i_assert(!atomic->locked);
+ } else if (atomic->success) {
if (mail_index_sync_commit(&atomic->sync_ctx) < 0) {
mail_storage_set_internal_error(MAP_STORAGE(atomic->map));
mail_index_reset_error(atomic->map->index);
ret = -1;
}
- } else if (atomic->sync_ctx != NULL) {
+ } else {
mail_index_sync_rollback(&atomic->sync_ctx);
}
i_free(atomic);
diff -r 451852aa0200 -r 16e0992583e2 src/lib-storage/index/dbox-multi/mdbox-save.c
--- a/src/lib-storage/index/dbox-multi/mdbox-save.c Thu Jul 01 15:25:23 2010 +0100
+++ b/src/lib-storage/index/dbox-multi/mdbox-save.c Thu Jul 01 16:28:15 2010 +0100
@@ -141,6 +141,8 @@
if (mdbox_map_append_next(ctx->append_ctx, mail_size, 0,
&ctx->cur_file_append,
&ctx->ctx.dbox_output) < 0) {
+ ctx->cur_file_append = NULL;
+ ctx->ctx.dbox_output = NULL;
ctx->ctx.failed = TRUE;
return -1;
}
More information about the dovecot-cvs
mailing list