changeset 14937:73feea4d22aa

doveadm, indexer: Don't crash if STATUS_LAST_CACHED_SEQ lookup fails. (I'm sure I did this change already once, where did it go?..)
author Timo Sirainen <tss@iki.fi>
date Fri, 22 Feb 2013 10:31:38 +0200
parents eece943c7521
children 8cc28a5a3f4f
files src/doveadm/doveadm-mail-index.c src/indexer/master-connection.c
diffstat 2 files changed, 6 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail-index.c	Sun Mar 24 12:09:39 2013 +0200
+++ b/src/doveadm/doveadm-mail-index.c	Fri Feb 22 10:31:38 2013 +0200
@@ -38,10 +38,10 @@
 	int ret = 0;
 
 	if (mailbox_get_metadata(box, MAILBOX_METADATA_PRECACHE_FIELDS,
-				 &metadata) < 0)
+				 &metadata) < 0 ||
+	    mailbox_get_status(box, STATUS_MESSAGES | STATUS_LAST_CACHED_SEQ,
+			       &status) < 0)
 		return -1;
-	mailbox_get_open_status(box, STATUS_MESSAGES | STATUS_LAST_CACHED_SEQ,
-				&status);
 
 	seq = status.last_cached_seq + 1;
 	if (seq > status.messages) {
--- a/src/indexer/master-connection.c	Sun Mar 24 12:09:39 2013 +0200
+++ b/src/indexer/master-connection.c	Fri Feb 22 10:31:38 2013 +0200
@@ -68,11 +68,10 @@
 	int ret = 0;
 
 	if (mailbox_get_metadata(box, MAILBOX_METADATA_PRECACHE_FIELDS,
-				 &metadata) < 0)
+				 &metadata) < 0 ||
+	    mailbox_get_status(box, STATUS_MESSAGES | STATUS_LAST_CACHED_SEQ,
+			       &status) < 0)
 		return -1;
-
-	mailbox_get_open_status(box, STATUS_MESSAGES | STATUS_LAST_CACHED_SEQ,
-				&status);
 	seq = status.last_cached_seq + 1;
 
 	trans = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_NO_CACHE_DEC);