changeset 11393:f2ece87f9fea HEAD

dbox: Copying messages crashed.
author Timo Sirainen <tss@iki.fi>
date Thu, 27 May 2010 19:14:37 +0100
parents 47f186130a4d
children 85e22167529f
files src/lib-storage/index/dbox-single/sdbox-save.c
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/dbox-single/sdbox-save.c	Thu May 27 19:06:59 2010 +0100
+++ b/src/lib-storage/index/dbox-single/sdbox-save.c	Thu May 27 19:14:37 2010 +0100
@@ -42,6 +42,7 @@
 
 	files = array_get(&ctx->files, &count);
 	i_assert(count > 0);
+	i_assert(seq - ctx->first_saved_seq < count);
 
 	return files[seq - ctx->first_saved_seq];
 }
@@ -75,6 +76,8 @@
 {
 	struct sdbox_save_context *ctx = (struct sdbox_save_context *)_ctx;
 
+	if (ctx->first_saved_seq == 0)
+		ctx->first_saved_seq = ctx->ctx.seq;
 	array_append(&ctx->files, &file, 1);
 }
 
@@ -98,9 +101,6 @@
 	ctx->ctx.cur_file = file;
 	dbox_save_begin(&ctx->ctx, input);
 
-	if (ctx->first_saved_seq == 0)
-		ctx->first_saved_seq = ctx->ctx.seq;
-
 	sdbox_save_add_file(_ctx, file);
 	return ctx->ctx.failed ? -1 : 0;
 }