From 8070b4e043bd863a87605dad5908c1e04b9bdafc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 19 May 2014 12:25:51 +0200 Subject: glimagesink: Check if context creation failed before trying to use it Otherwise we will cause assertions everywhere by passing NULL to functions and eventually crash when dereferencing a NULL pointer. https://bugzilla.gnome.org/show_bug.cgi?id=730069 --- ext/gl/gstglimagesink.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'ext') diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c index 1dbc5ec40..b2a1d07c4 100644 --- a/ext/gl/gstglimagesink.c +++ b/ext/gl/gstglimagesink.c @@ -388,6 +388,8 @@ _ensure_gl_setup (GstGLImageSink * gl_sink) GstGLWindow *window; gl_sink->context = gst_gl_context_new (gl_sink->display); + if (!gl_sink->context) + goto context_creation_error; window = gst_gl_context_get_window (gl_sink->context); @@ -421,6 +423,13 @@ _ensure_gl_setup (GstGLImageSink * gl_sink) return TRUE; +context_creation_error: + { + GST_ELEMENT_ERROR (gl_sink, RESOURCE, NOT_FOUND, + ("Failed to create GL context"), (NULL)); + return FALSE; + } + context_error: { GST_ELEMENT_ERROR (gl_sink, RESOURCE, NOT_FOUND, ("%s", error->message), -- cgit v1.2.1