}
/* Prune from the candidate check pairs. */
- for (l = stream->conncheck_list; l != NULL; l = l->next) {
+ for (l = stream->conncheck_list; l != NULL;) {
CandidateCheckPair *p = l->data;
+ GSList *next = l->next;
if ((p->local != NULL && p->local->sockptr == sock) ||
(p->remote != NULL && p->remote->sockptr == sock) ||
nice_debug ("Agent %p : Retransmissions failed, giving up on "
"connectivity check %p", agent, p);
candidate_check_pair_fail (stream, agent, p);
+ conn_check_free_item (p);
+ stream->conncheck_list = g_slist_delete_link (stream->conncheck_list, l);
}
+
+ l = next;
}
}