Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gst-plugins-base.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>2021-11-16 15:14:25 +0300
committerTim-Philipp Müller <tim@centricular.com>2021-11-20 21:22:35 +0300
commit242144c78e0d5fed982f5c250c46216be07d734e (patch)
tree8b06de9277f4816a6d6f93afe6b41da58752d3bd
parentde7fcdeaa5717b031e1e15d1a9dd7ab02b271b8a (diff)
uridecodebin3: Nullify current item after all play items are freed.
There's a potential race condition with this sort of pipelines on certain systems (depends on the processing load): GST_DEBUG_DUMP_DOT_DIR=/tmp \ gst-launch-1.0 uridecodebin3 uri=file://stream.mp4 ! glupload ! \ glimagesink --gst-debug=*:4 Right after the pipeline passes from PAUSED to READY, bin_to_dot_file dumps uridecodebin3 properties, but current uri and suburi might be already freed, causing a potential use-after-freed. This patch makes NULL the current item right after all the play items are freed. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1287>
-rw-r--r--gst/playback/gsturidecodebin3.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gst/playback/gsturidecodebin3.c b/gst/playback/gsturidecodebin3.c
index 71edd310b..0d7fc66bd 100644
--- a/gst/playback/gsturidecodebin3.c
+++ b/gst/playback/gsturidecodebin3.c
@@ -1110,6 +1110,7 @@ free_play_items (GstURIDecodeBin3 * dec)
g_list_free (dec->play_items);
dec->play_items = NULL;
+ dec->current = NULL;
}
static GstStateChangeReturn