summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Sales de Andrade <qulogic@pidgin.im>2019-03-12 21:35:20 -0400
committerElliott Sales de Andrade <qulogic@pidgin.im>2019-03-12 21:35:20 -0400
commit7d62bb9770daf3ad234faea5de718e614355cef0 (patch)
tree13f92d0cb2719bb914a72df445465eb950594770
parent9b2ccfc4b1a014098470405f75edd1fc70ee0b90 (diff)
downloadpidgin-7d62bb9770daf3ad234faea5de718e614355cef0.tar.gz
Fix a leak in Pidgin.
-rw-r--r--pidgin/gtkaccount.c25
-rw-r--r--pidgin/gtksmiley-theme.c2
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 *