]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dsync: Fix potential assert on mailbox deinit.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 28 Oct 2016 16:38:43 +0000 (19:38 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 28 Oct 2016 16:40:32 +0000 (19:40 +0300)
Should have happened only in somewhat rare error conditions that require
resyncing.

Fixes:
Panic: file dsync-brain-mailbox.c: line 358 (dsync_brain_sync_mailbox_deinit): assertion failed: (brain->failed || brain->sync_type == DSYNC_BRAIN_SYNC_TYPE_CHANGED)

src/doveadm/dsync/dsync-brain-mailbox.c

index 54bc07a1da34952eee927e461147b34cd7f1dd66..502a2489133999c9d716e8a9ea0bc283fed40556 100644 (file)
@@ -354,7 +354,7 @@ void dsync_brain_sync_mailbox_deinit(struct dsync_brain *brain)
        if (brain->box_exporter != NULL) {
                const char *errstr;
 
-               i_assert(brain->failed ||
+               i_assert(brain->failed || brain->require_full_resync ||
                         brain->sync_type == DSYNC_BRAIN_SYNC_TYPE_CHANGED);
                if (dsync_mailbox_export_deinit(&brain->box_exporter,
                                                &errstr, &error) < 0)