diff options
-rw-r--r-- | calendar/ChangeLog | 6 | ||||
-rw-r--r-- | calendar/common/authentication.c | 10 |
2 files changed, 11 insertions, 5 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index ee2bda838a..433fd19c4b 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,9 @@ +2007-07-30 Chenthill Palanisamy <pchenthill@novell.com> + + Fixes a memory corruption. + * common/authentication.c: (auth_func_cb): Use + e_source_get_duped_property. + 2007-07-30 Milan Crha <mcrha@redhat.com> ** Fix for bug #343716 diff --git a/calendar/common/authentication.c b/calendar/common/authentication.c index 69d0e9544c..5073e2e5b1 100644 --- a/calendar/common/authentication.c +++ b/calendar/common/authentication.c @@ -36,21 +36,21 @@ static char * auth_func_cb (ECal *ecal, const char *prompt, const char *key, gpointer user_data) { gboolean remember; - char *password; + char *password, *auth_domain; ESource *source; - const gchar *auth_domain, *component_name; + const gchar *component_name; source = e_cal_get_source (ecal); - auth_domain = e_source_get_property (source, "auth-domain"); + auth_domain = e_source_get_duped_property (source, "auth-domain"); component_name = auth_domain ? auth_domain : "Calendar"; password = e_passwords_get_password (component_name, key); - + if (!password) password = e_passwords_ask_password (_("Enter password"), component_name, key, prompt, E_PASSWORDS_REMEMBER_FOREVER|E_PASSWORDS_SECRET|E_PASSWORDS_ONLINE, &remember, NULL); - + g_free (auth_domain); return password; } |