From 29f26e87689baa8f86865dca0f4259c975add96e Mon Sep 17 00:00:00 2001 From: Stian Selnes Date: Mon, 27 Nov 2017 10:56:47 +0100 Subject: [PATCH] rtpsession: Add missing lock around sess->ssrcs iteration https://bugzilla.gnome.org/show_bug.cgi?id=795139 --- gst/rtpmanager/rtpsession.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index 7224674d05..1654244284 100644 --- a/gst/rtpmanager/rtpsession.c +++ b/gst/rtpmanager/rtpsession.c @@ -3973,11 +3973,15 @@ rtp_session_are_all_sources_bye (RTPSession * sess) GHashTableIter iter; RTPSource *src; + RTP_SESSION_LOCK (sess); g_hash_table_iter_init (&iter, sess->ssrcs[sess->mask_idx]); while (g_hash_table_iter_next (&iter, NULL, (gpointer *) & src)) { - if (src->internal && !src->sent_bye) + if (src->internal && !src->sent_bye) { + RTP_SESSION_UNLOCK (sess); return FALSE; + } } + RTP_SESSION_UNLOCK (sess); return TRUE; }