[Pidgin] #16129: Three possible memory leaks in libpurple/protocols/gg/roster.c
Pidgin
trac at pidgin.im
Mon Mar 10 19:02:03 EDT 2014
#16129: Three possible memory leaks in libpurple/protocols/gg/roster.c
--------------------------------+-------------------------
Reporter: AnonymousSubmitter | Owner:
Type: patch | Status: new
Milestone: | Component: libpurple
Version: 2.10.9 | Keywords: leak memory
--------------------------------+-------------------------
Hi,
I am not sure if it's libpurple's or gadu-gadu's issue. Please adjust if
necessary.
{{{
void ggp_roster_group_buddy(PurpleConnection *gc, const char *who,
const char *old_group, const char *new_group)
{
ggp_roster_session_data *rdata = ggp_roster_get_rdata(gc);
ggp_roster_change *change = g_new0(ggp_roster_change, 1);
if (!ggp_roster_enabled())
return;
(...)
}}}
*change is allocated, but not freed upon return when gpg_roster_enabled
returns true.
{{{
void ggp_roster_rename_group(PurpleConnection *gc, const char *old_name,
PurpleGroup *group, GList *moved_buddies)
{
ggp_roster_session_data *rdata = ggp_roster_get_rdata(gc);
ggp_roster_change *change = g_new0(ggp_roster_change, 1);
if (!ggp_roster_enabled())
return;
(...)
}}}
Same here.
{{{
void ggp_roster_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy,
PurpleGroup *group)
{
ggp_roster_session_data *rdata = ggp_roster_get_rdata(gc);
ggp_roster_change *change = g_new0(ggp_roster_change, 1);
if (!ggp_roster_enabled())
return;
(...)
}}}
And same here.
--
Ticket URL: <https://developer.pidgin.im/ticket/16129>
Pidgin <https://pidgin.im>
Pidgin
More information about the Tracker
mailing list