blob: ac996033c6d8647363cd30e5f03342dd9833dc1b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
===================================================================
RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/ssi.c,v
retrieving revision 1.60.2.1
retrieving revision 1.60.2.3
diff -u -r1.60.2.1 -r1.60.2.3
--- gaim/gaim/src/protocols/oscar/ssi.c 2005/06/14 00:24:29 1.60.2.1
+++ gaim/gaim/src/protocols/oscar/ssi.c 2005/07/09 18:51:05 1.60.2.3
@@ -671,20 +671,18 @@
/* Make sure there aren't any duplicate buddies in a group, or duplicate permits or denies */
cur = sess->ssi.local;
while (cur) {
- next = cur->next;
-
if ((cur->type == AIM_SSI_TYPE_BUDDY) || (cur->type == AIM_SSI_TYPE_PERMIT) || (cur->type == AIM_SSI_TYPE_DENY))
{
struct aim_ssi_item *cur2, *next2;
- cur2 = next;
+ cur2 = cur->next;
while (cur2) {
next2 = cur2->next;
- if ((cur->type == cur2->type) && (cur->gid == cur2->gid) && (!strcmp(cur->name, cur2->name)))
+ if ((cur->type == cur2->type) && (cur->gid == cur2->gid) && (cur->name != NULL) && (cur2->name != NULL) && (!strcmp(cur->name, cur2->name)))
aim_ssi_itemlist_del(&sess->ssi.local, cur2);
cur2 = next2;
}
}
- cur = next;
+ cur = cur->next;
}
/* Check if there are empty groups and delete them */
|