diff options
author | Elliott Sales de Andrade <qulogic@pidgin.im> | 2019-03-12 21:35:20 -0400 |
---|---|---|
committer | Elliott Sales de Andrade <qulogic@pidgin.im> | 2019-03-12 21:35:20 -0400 |
commit | 7d62bb9770daf3ad234faea5de718e614355cef0 (patch) | |
tree | 13f92d0cb2719bb914a72df445465eb950594770 | |
parent | 9b2ccfc4b1a014098470405f75edd1fc70ee0b90 (diff) | |
download | pidgin-7d62bb9770daf3ad234faea5de718e614355cef0.tar.gz |
Fix a leak in Pidgin.
-rw-r--r-- | pidgin/gtkaccount.c | 25 | ||||
-rw-r--r-- | pidgin/gtksmiley-theme.c | 2 |
2 files changed, 15 insertions, 12 deletions
diff --git a/pidgin/gtkaccount.c b/pidgin/gtkaccount.c index 70dac951f9..c89cd83eb2 100644 --- a/pidgin/gtkaccount.c +++ b/pidgin/gtkaccount.c @@ -1607,17 +1607,7 @@ pidgin_account_dialog_show_continue(PurpleAccount *account, dialog = g_new0(AccountPrefsDialog, 1); - if (accounts_window != NULL && account != NULL) - { - g_hash_table_insert(account_pref_wins, account, dialog); - } - - dialog->account = account; - dialog->password = g_strdup(password); - dialog->type = type; - dialog->sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); - - if (dialog->account == NULL) { + if (account == NULL) { /* Select the first protocol in the list*/ GList *protocol_list = purple_protocols_get_all(); if (protocol_list != NULL) { @@ -1633,9 +1623,20 @@ pidgin_account_dialog_show_continue(PurpleAccount *account, /* TODO if no protocols are loaded, this should inform the user that protocols need to be loaded instead of just doing nothing */ - if (!dialog->protocol_id) + if (!dialog->protocol_id) { + g_free(dialog); return; + } + + if (accounts_window != NULL && account != NULL) + { + g_hash_table_insert(account_pref_wins, account, dialog); + } + dialog->account = account; + dialog->password = g_strdup(password); + dialog->type = type; + dialog->sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); dialog->protocol = purple_protocols_find(dialog->protocol_id); dialog->window = win = pidgin_create_dialog((type == PIDGIN_ADD_ACCOUNT_DIALOG) ? _("Add Account") : _("Modify Account"), diff --git a/pidgin/gtksmiley-theme.c b/pidgin/gtksmiley-theme.c index e05d1cfc05..13a0464752 100644 --- a/pidgin/gtksmiley-theme.c +++ b/pidgin/gtksmiley-theme.c @@ -107,6 +107,8 @@ pidgin_smiley_theme_index_free(PidginSmileyThemeIndex *index) g_free(proto); } g_list_free(index->protocols); + + g_free(index); } static PidginSmileyThemeIndex * |