changeset 4345:f5d9c2b4d118 HEAD

If cache field's size is wrong, rebuild the cache file instead of crashing sometimes later.
author Timo Sirainen <tss@iki.fi>
date Fri, 16 Jun 2006 12:26:52 +0300
parents 34179afd158a
children 5fe316cdd8a6
files src/lib-index/mail-cache-fields.c
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-index/mail-cache-fields.c	Fri Jun 16 12:26:06 2006 +0300
+++ b/src/lib-index/mail-cache-fields.c	Fri Jun 16 12:26:52 2006 +0300
@@ -244,7 +244,15 @@
 			}
 			if (cache->fields[field.idx].field.type != types[i]) {
 				mail_cache_set_corrupted(cache,
-					"registered field type changed");
+					"registered field %s type changed",
+					names);
+				return -1;
+			}
+			if (cache->fields[field.idx].field.field_size !=
+			    sizes[i]) {
+				mail_cache_set_corrupted(cache,
+					"registered field %s size changed",
+					names);
 				return -1;
 			}
 		} else {