]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dsync: Don't crash at deinit when dsync fails early.
authorTimo Sirainen <tss@iki.fi>
Mon, 24 Jun 2013 20:06:45 +0000 (23:06 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 24 Jun 2013 20:06:45 +0000 (23:06 +0300)
src/doveadm/dsync/dsync-brain.c

index 3be80760941443e0f57c23110ea95c5737eb06b5..2208894e3c66b3bc840c6f1472e0102c2fc9e01e 100644 (file)
@@ -242,8 +242,10 @@ int dsync_brain_deinit(struct dsync_brain **_brain)
                dsync_brain_sync_mailbox_deinit(brain);
        if (brain->local_tree_iter != NULL)
                dsync_mailbox_tree_iter_deinit(&brain->local_tree_iter);
-       dsync_mailbox_tree_deinit(&brain->local_mailbox_tree);
-       dsync_mailbox_tree_deinit(&brain->remote_mailbox_tree);
+       if (brain->local_mailbox_tree != NULL)
+               dsync_mailbox_tree_deinit(&brain->local_mailbox_tree);
+       if (brain->remote_mailbox_tree != NULL)
+               dsync_mailbox_tree_deinit(&brain->remote_mailbox_tree);
        if (brain->mailbox_states_iter != NULL)
                hash_table_iterate_deinit(&brain->mailbox_states_iter);
        hash_table_destroy(&brain->mailbox_states);