From 8236cce314ca23ae258687c7c523b08ea0a98879 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 25 May 2007 16:19:02 +0000 Subject: Don't assume the relative URI is non-NULL (#427232). 2007-05-25 Matthew Barnes * addressbook/gui/component/addressbook-component.c (ensure_sources): * addressbook/gui/component/addressbook-migrate.c (ensure_sources): * calendar/gui/migration.c (create_calendar_sources), (create_task_sources), (create_memo_sources): * calendar/gui/tasks-component.c (ensure_sources): * calendar/gui/calendar-component.c (ensure_sources): * calendar/gui/memos-component.c (ensure_sources): * plugins/hula-account-setup/camel-hula-listener.c (remove_esource), (modify_esource): * plugins/groupwise-account-setup/camel-gw-listener.c (remove_esource), (modify_esource): Don't assume the relative URI is non-NULL (#427232). * plugins/exchange-operations/exchange-config-listener.c (exchange_add_autocompletion_folders): Don't assume the absolute URI is non-NULL (#427232). svn path=/trunk/; revision=33577 --- plugins/hula-account-setup/camel-hula-listener.c | 43 +++++++++++------------- 1 file changed, 20 insertions(+), 23 deletions(-) (limited to 'plugins/hula-account-setup/camel-hula-listener.c') diff --git a/plugins/hula-account-setup/camel-hula-listener.c b/plugins/hula-account-setup/camel-hula-listener.c index e6e0fe6773..c481778434 100644 --- a/plugins/hula-account-setup/camel-hula-listener.c +++ b/plugins/hula-account-setup/camel-hula-listener.c @@ -241,10 +241,7 @@ static void remove_esource (const char *conf_key, const char *group_name, char* source_name, const char* relative_uri) { ESourceList *list; - ESourceGroup *group; - ESource *source; GSList *groups; - GSList *sources; gboolean found_group; GConfClient* client; GSList *ids; @@ -258,19 +255,20 @@ remove_esource (const char *conf_key, const char *group_name, char* source_name, found_group = FALSE; for ( ; groups != NULL && !found_group; groups = g_slist_next (groups)) { - - group = E_SOURCE_GROUP (groups->data); + ESourceGroup *group = E_SOURCE_GROUP (groups->data); if (strcmp (e_source_group_peek_name (group), group_name) == 0 && strcmp (e_source_group_peek_base_uri (group), HULA_CALDAV_URI_PREFIX ) == 0) { - - sources = e_source_group_peek_sources (group); + GSList *sources = e_source_group_peek_sources (group); for( ; sources != NULL; sources = g_slist_next (sources)) { - - source = E_SOURCE (sources->data); - - if (strcmp (e_source_peek_relative_uri (source), relative_uri) == 0) { + ESource *source = E_SOURCE (sources->data); + const gchar *source_relative_uri; + + source_relative_uri = e_source_peek_relative_uri (source); + if (source_relative_uri == NULL) + continue; + if (strcmp (source_relative_uri, relative_uri) == 0) { if (!strcmp (conf_key, CALENDAR_SOURCES)) source_selection_key = SELECTED_CALENDARS; @@ -311,15 +309,11 @@ static void modify_esource (const char* conf_key, HulaAccountInfo *old_account_info, const char* new_group_name, CamelURL *new_url) { ESourceList *list; - ESourceGroup *group; - ESource *source; GSList *groups; - GSList *sources; char *old_relative_uri; CamelURL *url; gboolean found_group; GConfClient* client; - char *new_relative_uri; url = camel_url_new (old_account_info->source_url, NULL); if (!url->host || strlen (url->host) ==0) @@ -334,19 +328,22 @@ modify_esource (const char* conf_key, HulaAccountInfo *old_account_info, const c for ( ; groups != NULL && !found_group; groups = g_slist_next (groups)) { - group = E_SOURCE_GROUP (groups->data); + ESourceGroup *group = E_SOURCE_GROUP (groups->data); if (strcmp (e_source_group_peek_name (group), old_account_info->name) == 0 && strcmp (e_source_group_peek_base_uri (group), HULA_CALDAV_URI_PREFIX) == 0) { - - sources = e_source_group_peek_sources (group); + GSList *sources = e_source_group_peek_sources (group); for ( ; sources != NULL; sources = g_slist_next (sources)) { - - source = E_SOURCE (sources->data); - - if (strcmp (e_source_peek_relative_uri (source), old_relative_uri) == 0) { - + ESource *source = E_SOURCE (sources->data); + const gchar *source_relative_uri; + + source_relative_uri = e_source_peek_relative_uri (source); + if (source_relative_uri == NULL) + continue; + if (strcmp (source_relative_uri, old_relative_uri) == 0) { + gchar *new_relative_uri; + new_relative_uri = g_strdup_printf ("%s@%s:%d/dav/%s/calendar/Personal", new_url->user, new_url->host, new_url->port, new_url->user); e_source_group_set_name (group, new_group_name); e_source_set_relative_uri (source, new_relative_uri); -- cgit v1.2.3