From 0cc42f9dc64ca57f1d6c1f75fd07d505fe3f8229 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Fri, 27 Aug 2021 13:51:07 +1000 Subject: 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: --- gst/gstelement.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gst/gstelement.c b/gst/gstelement.c index f055e3ec24..a1b5efb085 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -3304,6 +3304,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", -- cgit v1.2.3