From d1d99af22973dd379d95fa477097576275ec1394 Mon Sep 17 00:00:00 2001 From: Zaheer Abbas Merali Date: Thu, 5 Sep 2013 14:14:42 +0200 Subject: [PATCH] collectpads: Don't unref NULL GstCollectData If a pad is removed while a collectpads element (say adder) is in a chain function waiting to be collected, there is a possibility that an unref happens on a NULL pointer. https://bugzilla.gnome.org/show_bug.cgi?id=707536 --- libs/gst/base/gstcollectpads.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libs/gst/base/gstcollectpads.c b/libs/gst/base/gstcollectpads.c index e9cabab..d24e03b 100644 --- a/libs/gst/base/gstcollectpads.c +++ b/libs/gst/base/gstcollectpads.c @@ -2068,7 +2068,9 @@ gst_collect_pads_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer) unlock_done: GST_COLLECT_PADS_STREAM_UNLOCK (pads); - unref_data (data); + /* data is definitely NULL if pad_removed goto was run. */ + if (data) + unref_data (data); if (buffer) gst_buffer_unref (buffer); return ret; -- 2.7.4