# HG changeset patch # User Timo Sirainen # Date 1495131033 -10800 # Node ID 412e15c438bcdea7987a046814e6f23720e77055 # Parent 7ecd91f06169200379833e72f42861a000854ff0 imapc: Make sure a valid UIDVALIDITY is returned by SELECT Fixes errors such as: Error: Synchronization corrupted index header (in-memory index): uidvalidity=0, but next_uid=9 diff -r 7ecd91f06169 -r 412e15c438bc src/lib-storage/index/imapc/imapc-mailbox.c --- a/src/lib-storage/index/imapc/imapc-mailbox.c Thu May 18 21:08:23 2017 +0300 +++ b/src/lib-storage/index/imapc/imapc-mailbox.c Thu May 18 21:10:33 2017 +0300 @@ -584,7 +584,8 @@ uint32_t uid_validity; if (mbox == NULL || - str_to_uint32(reply->resp_text_value, &uid_validity) < 0) + str_to_uint32(reply->resp_text_value, &uid_validity) < 0 || + uid_validity == 0) return; if (mbox->sync_uid_validity != uid_validity) { diff -r 7ecd91f06169 -r 412e15c438bc src/lib-storage/index/imapc/imapc-storage.c --- a/src/lib-storage/index/imapc/imapc-storage.c Thu May 18 21:08:23 2017 +0300 +++ b/src/lib-storage/index/imapc/imapc-storage.c Thu May 18 21:10:33 2017 +0300 @@ -545,6 +545,8 @@ { if (!mbox->exists_received) *error_r = "EXISTS not received"; + else if (mbox->sync_uid_validity == 0) + *error_r = "UIDVALIDITY not received"; else return TRUE; return FALSE;