diff options
author | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2015-08-02 17:38:14 +0200 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2015-08-04 11:10:45 +0100 |
commit | 794a08d7e9e4d1fc483c1fac49369f5aef964ba9 (patch) | |
tree | b185d1aa29c70283674a5e0f2772f12531fe70e6 | |
parent | cde3524f5241f03401ae5cea24db1137aa9d4763 (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.c | 1 |
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); |