projects
/
claws.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
61bced3
)
Fix crash in vcalendar passwords handling on prefs save.
author
Andrej Kacian
<ticho@claws-mail.org>
Tue, 23 Aug 2016 22:08:40 +0000
(
00:08
+0200)
committer
Andrej Kacian
<ticho@claws-mail.org>
Tue, 23 Aug 2016 22:08:40 +0000
(
00:08
+0200)
src/plugins/vcalendar/vcal_prefs.c
patch
|
blob
|
history
diff --git
a/src/plugins/vcalendar/vcal_prefs.c
b/src/plugins/vcalendar/vcal_prefs.c
index 8686ba888b095d2c2fe583b0d97da77e5b69e0cf..3968172db9d94e454afc6d14c834ad31b484d165 100644
(file)
--- a/
src/plugins/vcalendar/vcal_prefs.c
+++ b/
src/plugins/vcalendar/vcal_prefs.c
@@
-555,16
+555,12
@@
static void vcal_prefs_create_widget_func(PrefsPage * _page,
if (!vcalprefs.export_user)
vcalprefs.export_user = g_strdup("");
if (!vcalprefs.export_user)
vcalprefs.export_user = g_strdup("");
- if (!vcalprefs.export_pass)
- vcalprefs.export_pass = g_strdup("");
if (!vcalprefs.export_freebusy_user)
vcalprefs.export_freebusy_user = g_strdup("");
if (!vcalprefs.export_freebusy_user)
vcalprefs.export_freebusy_user = g_strdup("");
- if (!vcalprefs.export_freebusy_pass)
- vcalprefs.export_freebusy_pass = g_strdup("");
export_pass = vcal_passwd_get("export");
export_freebusy_pass = vcal_passwd_get("export_freebusy");
export_pass = vcal_passwd_get("export");
export_freebusy_pass = vcal_passwd_get("export_freebusy");
-
+
gtk_entry_set_text(GTK_ENTRY(export_user_entry), vcalprefs.export_user);
gtk_entry_set_text(GTK_ENTRY(export_pass_entry), (export_pass != NULL ? export_pass : ""));
gtk_entry_set_text(GTK_ENTRY(export_freebusy_user_entry), vcalprefs.export_freebusy_user);
gtk_entry_set_text(GTK_ENTRY(export_user_entry), vcalprefs.export_user);
gtk_entry_set_text(GTK_ENTRY(export_pass_entry), (export_pass != NULL ? export_pass : ""));
gtk_entry_set_text(GTK_ENTRY(export_freebusy_user_entry), vcalprefs.export_freebusy_user);
@@
-680,7
+676,6
@@
static void vcal_prefs_save_func(PrefsPage * _page)
g_free(vcalprefs.export_user);
vcalprefs.export_user =
gtk_editable_get_chars(GTK_EDITABLE(page->export_user_entry), 0, -1);
g_free(vcalprefs.export_user);
vcalprefs.export_user =
gtk_editable_get_chars(GTK_EDITABLE(page->export_user_entry), 0, -1);
- g_free(vcalprefs.export_pass);
pass = gtk_editable_get_chars(GTK_EDITABLE(page->export_pass_entry), 0, -1);
vcal_passwd_set("export", pass);
pass = gtk_editable_get_chars(GTK_EDITABLE(page->export_pass_entry), 0, -1);
vcal_passwd_set("export", pass);
@@
-703,7
+698,6
@@
static void vcal_prefs_save_func(PrefsPage * _page)
g_free(vcalprefs.export_freebusy_user);
vcalprefs.export_freebusy_user =
gtk_editable_get_chars(GTK_EDITABLE(page->export_freebusy_user_entry), 0, -1);
g_free(vcalprefs.export_freebusy_user);
vcalprefs.export_freebusy_user =
gtk_editable_get_chars(GTK_EDITABLE(page->export_freebusy_user_entry), 0, -1);
- g_free(vcalprefs.export_freebusy_pass);
pass = gtk_editable_get_chars(GTK_EDITABLE(page->export_freebusy_pass_entry), 0, -1);
vcal_passwd_set("export_freebusy", pass);
pass = gtk_editable_get_chars(GTK_EDITABLE(page->export_freebusy_pass_entry), 0, -1);
vcal_passwd_set("export_freebusy", pass);
@@
-746,12
+740,16
@@
void vcal_prefs_init(void)
passwd_store_set(PWS_PLUGIN, "vCalendar", "export",
vcalprefs.export_pass, TRUE);
passwords_migrated = TRUE;
passwd_store_set(PWS_PLUGIN, "vCalendar", "export",
vcalprefs.export_pass, TRUE);
passwords_migrated = TRUE;
+ memset(vcalprefs.export_pass, 0, strlen(vcalprefs.export_pass));
+ g_free(vcalprefs.export_pass);
}
if (vcalprefs.export_freebusy_pass != NULL &&
strlen(vcalprefs.export_freebusy_pass) > 0) {
passwd_store_set(PWS_PLUGIN, "vCalendar", "export",
vcalprefs.export_freebusy_pass, TRUE);
passwords_migrated = TRUE;
}
if (vcalprefs.export_freebusy_pass != NULL &&
strlen(vcalprefs.export_freebusy_pass) > 0) {
passwd_store_set(PWS_PLUGIN, "vCalendar", "export",
vcalprefs.export_freebusy_pass, TRUE);
passwords_migrated = TRUE;
+ memset(vcalprefs.export_freebusy_pass, 0, strlen(vcalprefs.export_freebusy_pass));
+ g_free(vcalprefs.export_freebusy_pass);
}
if (passwords_migrated)
}
if (passwords_migrated)