Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gstreamer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Waters <matthew@centricular.com>2021-08-27 06:51:07 +0300
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-08-27 08:40:55 +0300
commitc906ccb79fa86dfa9a635e2b14f8ee4754720add (patch)
treebef9d879d85f40289895ef9998161035b7e44037
parent148ac71a1fa8b698a8232b714f84419f51bda5ef (diff)
element: NULL the lists of contexts in dispose()
If dispose() is called more than once, we may double unref the list of GstContext's. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/875>
-rw-r--r--gst/gstelement.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gst/gstelement.c b/gst/gstelement.c
index 82244a8aab..7dab1dc9dd 100644
--- a/gst/gstelement.c
+++ b/gst/gstelement.c
@@ -3416,6 +3416,7 @@ gst_element_dispose (GObject * object)
gst_object_replace ((GstObject **) clock_p, NULL);
gst_object_replace ((GstObject **) bus_p, NULL);
g_list_free_full (element->contexts, (GDestroyNotify) gst_context_unref);
+ element->contexts = NULL;
GST_OBJECT_UNLOCK (element);
GST_CAT_INFO_OBJECT (GST_CAT_REFCOUNTING, element, "%p parent class dispose",