changeset 7044:b7f037c8ff57 HEAD

raw storage caused assert-crashes after mail_get_stream(). Fixes deliver.
author Timo Sirainen <tss@iki.fi>
date Fri, 28 Dec 2007 00:50:48 +0200
parents 7708a8c166d6
children ae0556fb268d
files src/lib-storage/index/raw/raw-mail.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/raw/raw-mail.c	Fri Dec 28 00:00:07 2007 +0200
+++ b/src/lib-storage/index/raw/raw-mail.c	Fri Dec 28 00:50:48 2007 +0200
@@ -79,8 +79,10 @@
 	struct raw_mailbox *mbox = (struct raw_mailbox *)_mail->box;
 
 	if (mail->data.stream == NULL) {
-		i_stream_ref(mbox->input);
-		mail->data.stream = mbox->input;
+		/* we can't just reference mbox->input, because
+		   index_mail_close() expects to be able to free the stream */
+		mail->data.stream =
+			i_stream_create_limit(mbox->input, (uoff_t)-1);
 	}
 
 	return index_mail_init_stream(mail, hdr_size, body_size, stream_r);