# HG changeset patch # User Sadrul Habib Chowdhury # Date 1179831674 0 # Node ID ee58212687bb944ddb8927af5cadc0d3dac7063c # Parent b61baeefbe3889cab2f4c6d1ebb1f64307973c96 Plug a few more memory leaks for some perl plugins. diff -r b61baeefbe38 -r ee58212687bb libpurple/plugins/perl/common/Account.xs --- a/libpurple/plugins/perl/common/Account.xs Tue May 22 10:09:50 2007 +0000 +++ b/libpurple/plugins/perl/common/Account.xs Tue May 22 11:01:14 2007 +0000 @@ -215,6 +215,7 @@ t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(list), i, 0), t_sl)); } purple_account_add_buddies(account, t_GL); + g_list_free(t_GL); void purple_account_add_buddy(account, buddy) @@ -252,6 +253,8 @@ t_GL2 = g_list_append(t_GL2, SvPV(*av_fetch((AV *)SvRV(B), i, 0), t_sl)); } purple_account_remove_buddies(account, t_GL1, t_GL2); + g_list_free(t_GL1); + g_list_free(t_GL2); void purple_account_remove_buddy(account, buddy, group) diff -r b61baeefbe38 -r ee58212687bb libpurple/plugins/perl/common/BuddyList.xs --- a/libpurple/plugins/perl/common/BuddyList.xs Tue May 22 10:09:50 2007 +0000 +++ b/libpurple/plugins/perl/common/BuddyList.xs Tue May 22 11:01:14 2007 +0000 @@ -263,7 +263,7 @@ PREINIT: GList *l; PPCODE: - for (l = purple_blist_node_get_extended_menu(node); l != NULL; l = l->next) { + for (l = purple_blist_node_get_extended_menu(node); l != NULL; l = g_list_delete_link(l, l)) { XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Menu::Action"))); } diff -r b61baeefbe38 -r ee58212687bb libpurple/plugins/perl/common/Prefs.xs --- a/libpurple/plugins/perl/common/Prefs.xs Tue May 22 10:09:50 2007 +0000 +++ b/libpurple/plugins/perl/common/Prefs.xs Tue May 22 11:01:14 2007 +0000 @@ -94,8 +94,9 @@ PREINIT: GList *l; PPCODE: - for (l = purple_prefs_get_string_list(name); l != NULL; l = l->next) { + for (l = purple_prefs_get_string_list(name); l != NULL; l = g_list_delete_link(l, l)) { XPUSHs(sv_2mortal(newSVpv(l->data, 0))); + g_free(l->data); } Purple::PrefType