From 794a08d7e9e4d1fc483c1fac49369f5aef964ba9 Mon Sep 17 00:00:00 2001 From: George Kiagiadakis Date: Sun, 2 Aug 2015 17:38:14 +0200 Subject: [PATCH] pad: fix invalid unref after IDLE probe on non-OK flow return In case there is an IDLE probe fired from gst_pad_push_data and it doesn't return GST_FLOW_OK, the code jumps to the probe_stopped label which tries to unref the data object. However, at this point the data object belongs downstream and must not be touched. By setting data = NULL, the code skips this unref. https://bugzilla.gnome.org//show_bug.cgi?id=753151 --- gst/gstpad.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gst/gstpad.c b/gst/gstpad.c index 34735a0bba..d041a835a9 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -4280,6 +4280,7 @@ gst_pad_push_data (GstPad * pad, GstPadProbeType type, void *data) GST_OBJECT_UNLOCK (pad); ret = gst_pad_chain_data_unchecked (peer, type, data); + data = NULL; gst_object_unref (peer);