summaryrefslogtreecommitdiff
path: root/socket
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2014-03-29 21:23:11 -0400
committerOlivier CrĂȘte <olivier.crete@collabora.com>2014-03-30 02:12:41 -0400
commitd916e63a623d339e4f4f3671f6a87020bfab4179 (patch)
tree1f69a025fc26c1d9e6b8abe4e4430442b19619e1 /socket
parent5454a886248ebe4f5b456ad0cb826eb71b905e16 (diff)
downloadlibnice-d916e63a623d339e4f4f3671f6a87020bfab4179.tar.gz
turn: Don't access list node after freeing it
Diffstat (limited to 'socket')
-rw-r--r--socket/turn.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/socket/turn.c b/socket/turn.c
index 439a9dc..a3a920d 100644
--- a/socket/turn.c
+++ b/socket/turn.c
@@ -493,8 +493,13 @@ priv_remove_peer_from_list (GList *list, const NiceAddress *peer)
NiceAddress *address = (NiceAddress *) iter->data;
if (nice_address_equal (address, peer)) {
+ GList *prev = iter->prev;
+
nice_address_free (address);
list = g_list_delete_link (list, iter);
+ iter = prev;
+ if (iter)
+ iter = list;
}
}