summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHe Junyan <junyan.he@intel.com>2020-11-06 15:36:01 +0800
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>2020-12-05 22:04:21 +0000
commit928bac4578e98a145be95f822b79d8580b1f8a2d (patch)
treee70fe486d78e97b4648cc7d23765d3a4415be1f7
parent2b041f4e15ed15323bd557868ffab281d34e5fd0 (diff)
downloadgstreamer-plugins-base-928bac4578e98a145be95f822b79d8580b1f8a2d.tar.gz
glbasefilter: Need to check the display before lock it.
In find_gl_context_unlocked(), the display of filter may be NULL and can cause crash if we directly access and lock it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/962>
-rw-r--r--gst-libs/gst/gl/gstglbasefilter.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gst-libs/gst/gl/gstglbasefilter.c b/gst-libs/gst/gl/gstglbasefilter.c
index 86710733a..40f37e1f8 100644
--- a/gst-libs/gst/gl/gstglbasefilter.c
+++ b/gst-libs/gst/gl/gstglbasefilter.c
@@ -541,6 +541,11 @@ gst_gl_base_filter_find_gl_context_unlocked (GstGLBaseFilter * filter)
_find_local_gl_context_unlocked (filter);
+ if (!filter->display) {
+ GST_WARNING_OBJECT (filter, "filter has NULL display.");
+ return FALSE;
+ }
+
if (!filter->context) {
GST_OBJECT_LOCK (filter->display);
do {