From c2a8f67d35f2e72d8adda919fc005a14af9909ff Mon Sep 17 00:00:00 2001 From: marcus Date: Tue, 18 Jul 2006 20:47:59 +0000 Subject: Fix a crash that can occur when a blocked user is removed from the MSN privacy list. PR: 99501 Obtained from: RedHat CVS --- net-im/gaim/Makefile | 2 +- net-im/gaim/files/patch-src_privacy.c | 37 +++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 net-im/gaim/files/patch-src_privacy.c (limited to 'net-im') diff --git a/net-im/gaim/Makefile b/net-im/gaim/Makefile index 5bf35a21981..eee05da08cd 100644 --- a/net-im/gaim/Makefile +++ b/net-im/gaim/Makefile @@ -7,7 +7,7 @@ PORTNAME= gaim PORTVERSION= 1.5.0 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES?= net-im MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} diff --git a/net-im/gaim/files/patch-src_privacy.c b/net-im/gaim/files/patch-src_privacy.c new file mode 100644 index 00000000000..facd89478c3 --- /dev/null +++ b/net-im/gaim/files/patch-src_privacy.c @@ -0,0 +1,37 @@ +RCS file: /cvsroot/gaim/gaim/src/privacy.c,v +retrieving revision 1.16 +retrieving revision 1.18 +diff -u -r1.16 -r1.18 +--- src/privacy.c 2005/07/17 23:36:33 1.16 ++++ src/privacy.c 2006/02/07 02:49:56 1.18 +@@ -85,8 +85,8 @@ + if (l == NULL) + return FALSE; + +- account->permit = g_slist_remove(account->permit, l->data); + g_free(l->data); ++ account->permit = g_slist_delete_link(account->permit, l); + + if (!local_only && gaim_account_is_connected(account)) + serv_rem_permit(gaim_account_get_connection(account), who); +@@ -156,15 +156,16 @@ + if (l == NULL) + return FALSE; + +- account->deny = g_slist_remove(account->deny, l->data); +- g_free(l->data); ++ name = l->data; ++ account->deny = g_slist_delete_link(account->deny, l); + + if (!local_only && gaim_account_is_connected(account)) +- serv_rem_deny(gaim_account_get_connection(account), who); ++ serv_rem_deny(gaim_account_get_connection(account), name); + + if (privacy_ops != NULL && privacy_ops->deny_removed != NULL) +- privacy_ops->deny_removed(account, who); ++ privacy_ops->deny_removed(account, name); + ++ g_free(name); + gaim_blist_schedule_save(); + + return TRUE; -- cgit