summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2015-08-02 17:38:14 +0200
committerTim-Philipp Müller <tim@centricular.com>2015-08-04 11:10:45 +0100
commit794a08d7e9e4d1fc483c1fac49369f5aef964ba9 (patch)
treeb185d1aa29c70283674a5e0f2772f12531fe70e6
parentcde3524f5241f03401ae5cea24db1137aa9d4763 (diff)
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
-rw-r--r--gst/gstpad.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gst/gstpad.c b/gst/gstpad.c
index 34735a0bb..d041a835a 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);