diff options
author | Olivier CrĂȘte <olivier.crete@collabora.com> | 2014-03-29 21:23:11 -0400 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2014-03-30 02:12:41 -0400 |
commit | d916e63a623d339e4f4f3671f6a87020bfab4179 (patch) | |
tree | 1f69a025fc26c1d9e6b8abe4e4430442b19619e1 /socket | |
parent | 5454a886248ebe4f5b456ad0cb826eb71b905e16 (diff) | |
download | libnice-d916e63a623d339e4f4f3671f6a87020bfab4179.tar.gz |
turn: Don't access list node after freeing it
Diffstat (limited to 'socket')
-rw-r--r-- | socket/turn.c | 5 |
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; } } |