changeset 4277:c8af5a2492c5 HEAD

If connection closes while appending, we crashed in some situations.
author Timo Sirainen <tss@iki.fi>
date Tue, 30 May 2006 11:25:24 +0300
parents 7e8bd7301461
children 19a0864deb4e
files src/imap/cmd-append.c
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/imap/cmd-append.c	Tue May 30 11:24:44 2006 +0300
+++ b/src/imap/cmd-append.c	Tue May 30 11:25:24 2006 +0300
@@ -143,7 +143,8 @@
 	(void)i_stream_get_data(ctx->input, &size);
 	i_stream_skip(ctx->input, size);
 
-	if (ctx->input->v_offset == ctx->msg_size || ctx->input->closed) {
+	if (ctx->input->v_offset == ctx->msg_size ||
+	    cmd->client->input->closed) {
 		cmd_append_finish(ctx);
 		return TRUE;
 	}
@@ -273,7 +274,7 @@
 					   ctx->msg_size);
 	ret = mailbox_save_init(ctx->t, flags, keywords,
 				internal_date, timezone_offset, NULL,
-				ctx->input, NULL, &ctx->save_ctx);
+				ctx->input, FALSE, &ctx->save_ctx);
 
 	if (keywords != NULL)
 		mailbox_keywords_free(ctx->t, &keywords);
@@ -335,7 +336,7 @@
 			   whole message. */
 			failed = TRUE;
 			mailbox_save_cancel(&ctx->save_ctx);
-		} else if (mailbox_save_finish(&ctx->save_ctx) < 0) {
+		} else if (mailbox_save_finish(&ctx->save_ctx, NULL) < 0) {
 			failed = TRUE;
 			client_send_storage_error(cmd, ctx->storage);
 		} else {