aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog6
-rw-r--r--calendar/common/authentication.c10
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;
}