changeset 86:73e79cf8f496 HEAD

mbox fsck fixes
author Timo Sirainen <tss@iki.fi>
date Thu, 29 Aug 2002 00:42:24 +0300
parents 5a4d07a88a8e
children 18f0d0952a7d
files src/lib-index/mbox/mbox-fsck.c
diffstat 1 files changed, 16 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-index/mbox/mbox-fsck.c	Thu Aug 29 00:35:00 2002 +0300
+++ b/src/lib-index/mbox/mbox-fsck.c	Thu Aug 29 00:42:24 2002 +0300
@@ -73,13 +73,24 @@
 			} else {
 				/* read forward a bit */
 				if (io_buffer_read_data(inbuf, &data,
-							&size, 6) <= 0 ||
-				    size < 7)
+							&size, 6) <= 0)
 					break;
 
-				if (data[0] == '\r')
-					data++;
-				if (strncmp(data, "\nFrom ", 6) != 0)
+				/* either there should be the next From-line,
+				   or [\r]\n at end of file */
+				if (size > 0 && data[0] == '\r') {
+					data++; size--;
+				}
+				if (size > 0) {
+					if (data[0] != '\n')
+						break;
+
+					data++; size--;
+				}
+
+				if (size > 0 &&
+				    (size < 5 ||
+				     strncmp(data, "From ", 5) != 0))
 					break;
 			}