changeset 16541:07e314199f56

dsync: Don't crash at deinit when dsync fails early.
author Timo Sirainen <tss@iki.fi>
date Mon, 24 Jun 2013 23:06:45 +0300
parents 84014270ee37
children 04c7cf45a597
files src/doveadm/dsync/dsync-brain.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/dsync/dsync-brain.c	Mon Jun 24 22:25:47 2013 +0300
+++ b/src/doveadm/dsync/dsync-brain.c	Mon Jun 24 23:06:45 2013 +0300
@@ -242,8 +242,10 @@
 		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);