aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2011-03-01 19:08:39 +0800
committerMilan Crha <mcrha@redhat.com>2011-03-01 19:08:39 +0800
commit7cd21fa82a975cc5bbd640869bf77a62c7b30f0a (patch)
tree420da25ae3bd25d8ec3eb737cf037f1b2f4de6b2
parentc1e6e105bbdba69734e0752d4403a04bac6cd61b (diff)
downloadgsoc2013-evolution-7cd21fa82a975cc5bbd640869bf77a62c7b30f0a.tar
gsoc2013-evolution-7cd21fa82a975cc5bbd640869bf77a62c7b30f0a.tar.gz
gsoc2013-evolution-7cd21fa82a975cc5bbd640869bf77a62c7b30f0a.tar.bz2
gsoc2013-evolution-7cd21fa82a975cc5bbd640869bf77a62c7b30f0a.tar.lz
gsoc2013-evolution-7cd21fa82a975cc5bbd640869bf77a62c7b30f0a.tar.xz
gsoc2013-evolution-7cd21fa82a975cc5bbd640869bf77a62c7b30f0a.tar.zst
gsoc2013-evolution-7cd21fa82a975cc5bbd640869bf77a62c7b30f0a.zip
Bug #642447 - Invalid reads while disabling groupwise account
-rw-r--r--plugins/groupwise-features/camel-gw-listener.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/plugins/groupwise-features/camel-gw-listener.c b/plugins/groupwise-features/camel-gw-listener.c
index 02af85b91f..28efe5c94b 100644
--- a/plugins/groupwise-features/camel-gw-listener.c
+++ b/plugins/groupwise-features/camel-gw-listener.c
@@ -324,6 +324,9 @@ remove_esource (const gchar *conf_key, const gchar *group_name, gchar * source_n
}
}
+ if (found_group)
+ break;
+
}
}
@@ -400,6 +403,9 @@ modify_esource (const gchar * conf_key, GwAccountInfo *old_account_info, EAccoun
break;
}
}
+
+ if (found_group)
+ break;
}
}
@@ -749,7 +755,6 @@ remove_addressbook_sources (GwAccountInfo *existing_account_info)
ESourceList *list;
ESourceGroup *group;
GSList *groups;
- gboolean found_group;
CamelURL *url;
gchar *base_uri;
GConfClient *client;
@@ -769,17 +774,14 @@ remove_addressbook_sources (GwAccountInfo *existing_account_info)
list = e_source_list_new_for_gconf (client, "/apps/evolution/addressbook/sources" );
groups = e_source_list_peek_groups (list);
- found_group = FALSE;
-
- for (; groups != NULL && !found_group; groups = g_slist_next (groups)) {
+ for (; groups != NULL; groups = g_slist_next (groups)) {
group = E_SOURCE_GROUP (groups->data);
if ( strcmp ( e_source_group_peek_base_uri (group), base_uri) == 0 && strcmp (e_source_group_peek_name (group), existing_account_info->name) == 0) {
e_source_list_remove_group (list, group);
e_source_list_sync (list, NULL);
- found_group = TRUE;
-
+ break;
}
}
g_object_unref (list);
@@ -967,6 +969,7 @@ prune_proxies (void) {
if (parent_id_name) {
e_source_group_remove_source (group, source);
e_source_list_remove_group (sources, group);
+ break;
}
}
}