summaryrefslogtreecommitdiff
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 */