/* Free things */
g_object_unref(G_OBJECT(size_group));
+
+ sieve_prefs_account_free_config(config);
}
static void sieve_prefs_account_destroy_widget_func(PrefsPage *_page)
config->host = gtk_editable_get_chars(GTK_EDITABLE(page->host_entry), 0, -1);
config->userid = gtk_editable_get_chars(GTK_EDITABLE(page->uid_entry), 0, -1);
- passwd_store_set_account(page->account->account_id, "sieve",
- gtk_editable_get_chars(GTK_EDITABLE(page->pass_entry), 0, -1),
- FALSE);
+ gchar *pwd = gtk_editable_get_chars(GTK_EDITABLE(page->pass_entry), 0, -1);
+ passwd_store_set_account(page->account->account_id, "sieve", pwd, FALSE);
+ memset(pwd, 0, strlen(pwd));
+ g_free(pwd);
config->auth_type = combobox_get_active_data(GTK_COMBO_BOX(page->auth_menu));
sieve_prefs_account_set_config(page->account, config);
if (confstr == NULL)
return config;
+ enc_userid[0] = '\0';
+ enc_passwd[0] = '\0';
#if defined(G_OS_WIN32) || defined(__OpenBSD__)
sscanf(confstr, "%c%c %255s %c%hu %hhu %hhu %hhu %255s %255s",
#else