fix a memory leak in the SILC protocol, from upstream repository
via Brad (maintainer).
This commit is contained in:
parent
61560e474f
commit
a49968396f
@ -1,10 +1,11 @@
|
||||
# $OpenBSD: Makefile,v 1.34 2009/01/14 10:34:21 sthen Exp $
|
||||
# $OpenBSD: Makefile,v 1.35 2009/02/12 03:07:59 sthen Exp $
|
||||
|
||||
SHARED_ONLY= Yes
|
||||
|
||||
COMMENT= multi-protocol instant messaging client
|
||||
|
||||
DISTNAME= pidgin-2.5.4
|
||||
PKGNAME= ${DISTNAME}p0
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=pidgin/}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-libpurple_protocols_silc_silc_c,v 1.3 2008/08/21 05:59:01 brad Exp $
|
||||
--- libpurple/protocols/silc/silc.c.orig Wed Aug 20 00:48:35 2008
|
||||
+++ libpurple/protocols/silc/silc.c Wed Aug 20 00:56:04 2008
|
||||
$OpenBSD: patch-libpurple_protocols_silc_silc_c,v 1.4 2009/02/12 03:07:59 sthen Exp $
|
||||
--- libpurple/protocols/silc/silc.c.orig Mon Jan 12 14:05:38 2009
|
||||
+++ libpurple/protocols/silc/silc.c Wed Feb 11 18:20:43 2009
|
||||
@@ -671,31 +671,12 @@ silcpurple_close(PurpleConnection *gc)
|
||||
SilcPurpleTask task;
|
||||
#endif /* __SILC_TOOLKIT_VERSION */
|
||||
@ -34,7 +34,34 @@ $OpenBSD: patch-libpurple_protocols_silc_silc_c,v 1.3 2008/08/21 05:59:01 brad E
|
||||
if (sg->conn)
|
||||
silc_client_close_connection(sg->client, sg->conn);
|
||||
|
||||
@@ -1835,9 +1816,6 @@ static PurpleCmdRet silcpurple_cmd_quit(PurpleConversa
|
||||
@@ -1357,6 +1338,7 @@ silcpurple_send_im_resolved(SilcClient client,
|
||||
char tmp[256];
|
||||
SilcClientEntry client_entry;
|
||||
SilcDList list;
|
||||
+ gboolean free_list = FALSE;
|
||||
|
||||
convo = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, im->nick,
|
||||
sg->account);
|
||||
@@ -1373,6 +1355,8 @@ silcpurple_send_im_resolved(SilcClient client,
|
||||
im->nick, FALSE);
|
||||
if (!clients)
|
||||
goto err;
|
||||
+
|
||||
+ free_list = TRUE;
|
||||
}
|
||||
|
||||
silc_dlist_start(clients);
|
||||
@@ -1413,6 +1397,9 @@ silcpurple_send_im_resolved(SilcClient client,
|
||||
purple_conversation_write(convo, NULL, tmp, PURPLE_MESSAGE_SYSTEM, time(NULL));
|
||||
|
||||
out:
|
||||
+ if (free_list) {
|
||||
+ silc_client_list_free(client, conn, clients);
|
||||
+ }
|
||||
g_free(im->nick);
|
||||
g_free(im->message);
|
||||
silc_free(im);
|
||||
@@ -1835,9 +1822,6 @@ static PurpleCmdRet silcpurple_cmd_quit(PurpleConversa
|
||||
{
|
||||
PurpleConnection *gc;
|
||||
SilcPurple sg;
|
||||
@ -44,7 +71,7 @@ $OpenBSD: patch-libpurple_protocols_silc_silc_c,v 1.3 2008/08/21 05:59:01 brad E
|
||||
|
||||
gc = purple_conversation_get_gc(conv);
|
||||
|
||||
@@ -1849,23 +1827,8 @@ static PurpleCmdRet silcpurple_cmd_quit(PurpleConversa
|
||||
@@ -1849,23 +1833,8 @@ static PurpleCmdRet silcpurple_cmd_quit(PurpleConversa
|
||||
if (sg == NULL)
|
||||
return PURPLE_CMD_RET_FAILED;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user