diff options
author | marcus <marcus@FreeBSD.org> | 2006-07-19 04:47:59 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2006-07-19 04:47:59 +0800 |
commit | c2a8f67d35f2e72d8adda919fc005a14af9909ff (patch) | |
tree | 0244b8eb5662e0c6fb6f1d8b856bf7881eabe8b2 /net-im | |
parent | 37a97f8bd62eb83e398e28c232244c460fb8d96a (diff) | |
download | freebsd-ports-graphics-c2a8f67d35f2e72d8adda919fc005a14af9909ff.tar.gz freebsd-ports-graphics-c2a8f67d35f2e72d8adda919fc005a14af9909ff.tar.zst freebsd-ports-graphics-c2a8f67d35f2e72d8adda919fc005a14af9909ff.zip |
Fix a crash that can occur when a blocked user is removed from the MSN
privacy list.
PR: 99501
Obtained from: RedHat CVS
Diffstat (limited to 'net-im')
-rw-r--r-- | net-im/gaim/Makefile | 2 | ||||
-rw-r--r-- | net-im/gaim/files/patch-src_privacy.c | 37 |
2 files changed, 38 insertions, 1 deletions
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; |