From: Timo Sirainen Date: Wed, 13 Sep 2017 13:13:34 +0000 (+0300) Subject: lib-storage: Fix updating mailbox GUID in mailbox list index when it's empty X-Git-Tag: 2.3.0.rc1~1028 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0a33290266232d75d861f19523ec238c5d93797;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Fix updating mailbox GUID in mailbox list index when it's empty Normally the GUID shouldn't be empty at this point. Updating mailbox GUID is also very rare. So this was unlikely to cause any problems in practise. --- diff --git a/src/lib-storage/list/mailbox-list-index-status.c b/src/lib-storage/list/mailbox-list-index-status.c index ab03535a5c..f5045a8755 100644 --- a/src/lib-storage/list/mailbox-list-index-status.c +++ b/src/lib-storage/list/mailbox-list-index-status.c @@ -717,16 +717,17 @@ void mailbox_list_index_update_mailbox_index(struct mailbox *box, if ((ret = index_list_open_view(box, FALSE, &list_view, &changes.seq)) <= 0) return; + guid_128_empty(mailbox_guid); (void)mailbox_list_index_status(box->list, list_view, changes.seq, CACHED_STATUS_ITEMS, &status, mailbox_guid, NULL); + if (update->uid_validity != 0) { changes.rec_changed = TRUE; changes.status.uidvalidity = update->uid_validity; } if (!guid_128_equals(update->mailbox_guid, mailbox_guid) && - !guid_128_is_empty(update->mailbox_guid) && - !guid_128_is_empty(mailbox_guid)) { + !guid_128_is_empty(update->mailbox_guid)) { changes.rec_changed = TRUE; memcpy(changes.guid, update->mailbox_guid, sizeof(changes.guid)); guid_changed = TRUE;