Mercurial > dovecot > original-hg > dovecot-1.2
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 {