libpurple/protocols/jabber/jingle/iceudp.c

branch
release-2.x.y
changeset 39731
ea0961a2cf96
parent 39724
72a35ff95941
child 39732
e4ad09f72edf
--- a/libpurple/protocols/jabber/jingle/iceudp.c	Sat Jul 06 09:51:52 2019 +0200
+++ b/libpurple/protocols/jabber/jingle/iceudp.c	Sat Jul 20 13:09:31 2019 +0200
@@ -199,17 +199,17 @@
 	purple_debug_info("jingle","jingle_iceudp_finalize\n");
 
 	iter = priv->local_candidates;
-	for (; iter; iter = g_list_next(iter)) {
+	while (iter) {
 		JingleIceUdpCandidate *c = iter->data;
 		g_boxed_free(JINGLE_TYPE_ICEUDP_CANDIDATE, c);
+		iter = g_list_delete_link(iter, iter);
 	}
-	g_list_free (priv->local_candidates);
 	iter = priv->remote_candidates;
-	for (; iter; iter = g_list_next(iter)) {
+	while (iter) {
 		JingleIceUdpCandidate *c = iter->data;
 		g_boxed_free(JINGLE_TYPE_ICEUDP_CANDIDATE, c);
+		iter = g_list_delete_link(iter, iter);
 	}
-	g_list_free (priv->remote_candidates);
 
 	priv->local_candidates = NULL;
 	priv->remote_candidates = NULL;

mercurial