From 9eb2dda183da7d53600be5ce0b9f5dfba4bb5f9b Mon Sep 17 00:00:00 2001 From: Jeff Cai Date: Sat, 2 Feb 2008 00:57:26 +0000 Subject: ** Fixes bug #513395 2008-02-02 Jeff Cai ** Fixes bug #513395 * exchange-account-setup.c: (owa_authenticate_user), (owa_editor_entry_changed), (org_gnome_exchange_owa_url), (org_gnome_exchange_check_options), (org_gnome_exchange_commit): Check parameters before calling camel_url_new svn path=/trunk/; revision=34947 --- plugins/exchange-operations/ChangeLog | 9 +++++++ .../exchange-operations/exchange-account-setup.c | 28 ++++++++++++++++------ 2 files changed, 30 insertions(+), 7 deletions(-) (limited to 'plugins/exchange-operations') diff --git a/plugins/exchange-operations/ChangeLog b/plugins/exchange-operations/ChangeLog index 1e15d41b2c..d74523f7a2 100644 --- a/plugins/exchange-operations/ChangeLog +++ b/plugins/exchange-operations/ChangeLog @@ -1,3 +1,12 @@ +2008-02-02 Jeff Cai + + ** Fixes bug #513395 + + * exchange-account-setup.c: (owa_authenticate_user), + (owa_editor_entry_changed), (org_gnome_exchange_owa_url), + (org_gnome_exchange_check_options), (org_gnome_exchange_commit): + Check parameters before calling camel_url_new + 2008-01-28 Srinivasa Ragavan * exchange-calendar.c: (e_exchange_calendar_commit): Fixes a double diff --git a/plugins/exchange-operations/exchange-account-setup.c b/plugins/exchange-operations/exchange-account-setup.c index 7109fccb08..340cdbab99 100644 --- a/plugins/exchange-operations/exchange-account-setup.c +++ b/plugins/exchange-operations/exchange-account-setup.c @@ -1,4 +1,4 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- +/* -*- Mf (id ode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * * Sushma Rai * Copyright (C) 2004 Novell, Inc. @@ -437,8 +437,9 @@ owa_authenticate_user(GtkWidget *button, EConfig *config) source_url = e_account_get_string (target_account->account, E_ACCOUNT_SOURCE_URL); - url = camel_url_new(source_url, NULL); - if (url->user == NULL) { + if (source_url && source_url[0] != '\0') + url = camel_url_new(source_url, NULL); + if (url && url->user == NULL) { id_name = e_account_get_string (target_account->account, E_ACCOUNT_ID_ADDRESS); if (id_name) { at = strchr(id_name, '@'); @@ -513,7 +514,10 @@ owa_editor_entry_changed(GtkWidget *entry, EConfig *config) /* NB: we set the button active only if we have a parsable uri entered */ - url = camel_url_new(e_account_get_string(target->account, E_ACCOUNT_SOURCE_URL), NULL); + const char * target_url = e_account_get_string(target->account, E_ACCOUNT_SOURCE_URL); + if (target_url && target_url[0] != '\0') + url = camel_url_new(target_url, NULL); + else url = NULL; uri = gtk_entry_get_text((GtkEntry *)entry); if (uri && uri[0]) { camel_url_set_param(url, "owa_url", uri); @@ -579,7 +583,10 @@ org_gnome_exchange_owa_url(EPlugin *epl, EConfigHookItemFactoryData *data) target_account = (EMConfigTargetAccount *)data->config->target; source_url = e_account_get_string (target_account->account, E_ACCOUNT_SOURCE_URL); - url = camel_url_new(source_url, NULL); + if (source_url && source_url[0] != '\0') + url = camel_url_new(source_url, NULL); + else + url = NULL; if (url == NULL || strcmp(url->protocol, "exchange") != 0) { if (url) @@ -682,7 +689,11 @@ org_gnome_exchange_check_options(EPlugin *epl, EConfigHookPageCheckData *data) strcmp (data->pageid, "20.receive_options") == 0) { CamelURL *url; - url = camel_url_new(e_account_get_string(target->account, E_ACCOUNT_SOURCE_URL), NULL); + const char * target_url = e_account_get_string(target->account, E_ACCOUNT_SOURCE_URL); + if (target_url && target_url[0] != '\0') + url = camel_url_new(target_url, NULL); + else + url = NULL; /* Note: we only care about exchange url's, we WILL get called on all other url's too. */ if (url != NULL && strcmp(url->protocol, "exchange") == 0 @@ -726,7 +737,10 @@ org_gnome_exchange_commit (EPlugin *epl, EConfigHookItemFactoryData *data) target_account = (EMConfigTargetAccount *)data->config->target; source_url = e_account_get_string (target_account->account, E_ACCOUNT_SOURCE_URL); - url = camel_url_new (source_url, NULL); + if (source_url && source_url[0] != '\0') + url = camel_url_new (source_url, NULL); + else + url = NULL; if (url == NULL || strcmp (url->protocol, "exchange") != 0) { if (url) -- cgit v1.2.3