From: Vineeth T M Date: Thu, 17 Sep 2015 04:35:02 +0000 (+0900) Subject: gl: Fix GError leaks during failures X-Git-Tag: 1.19.3~511^2~1989^2~668 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6944433677be0634ffcba8e149e2a84006dc78ff;p=platform%2Fupstream%2Fgstreamer.git gl: Fix GError leaks during failures https://bugzilla.gnome.org/show_bug.cgi?id=755140 --- diff --git a/ext/gl/gstglbasemixer.c b/ext/gl/gstglbasemixer.c index f8c8d19..3bad769 100644 --- a/ext/gl/gstglbasemixer.c +++ b/ext/gl/gstglbasemixer.c @@ -496,6 +496,7 @@ context_error: { GST_ELEMENT_ERROR (mix, RESOURCE, NOT_FOUND, ("%s", error->message), (NULL)); + g_clear_error (&error); return FALSE; } } diff --git a/ext/gl/gstglstereosplit.c b/ext/gl/gstglstereosplit.c index 9c56002..e175df8 100644 --- a/ext/gl/gstglstereosplit.c +++ b/ext/gl/gstglstereosplit.c @@ -587,6 +587,7 @@ context_error: { GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND, ("%s", error->message), (NULL)); + g_clear_error (&error); return FALSE; } } diff --git a/ext/gl/gstgltestsrc.c b/ext/gl/gstgltestsrc.c index 877b09a..93ddfda 100644 --- a/ext/gl/gstgltestsrc.c +++ b/ext/gl/gstgltestsrc.c @@ -853,6 +853,7 @@ context_error: { GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, ("%s", error->message), (NULL)); + g_clear_error (&error); if (src->context) gst_object_unref (src->context); src->context = NULL; diff --git a/gst-libs/gst/gl/gstglbasebuffer.c b/gst-libs/gst/gl/gstglbasebuffer.c index 61091b8..495e104 100644 --- a/gst-libs/gst/gl/gstglbasebuffer.c +++ b/gst-libs/gst/gl/gstglbasebuffer.c @@ -110,6 +110,7 @@ _mem_create_gl (GstGLContext * context, struct create_data *transfer) GST_CAT_ERROR (GST_CAT_GL_BASE_BUFFER, "Failed to create GL buffer: %s", error->message); + g_clear_error (&error); } void diff --git a/gst-libs/gst/gl/gstglbasefilter.c b/gst-libs/gst/gl/gstglbasefilter.c index 8538644..e7b2e236 100644 --- a/gst-libs/gst/gl/gstglbasefilter.c +++ b/gst-libs/gst/gl/gstglbasefilter.c @@ -368,6 +368,7 @@ context_error: { GST_ELEMENT_ERROR (trans, RESOURCE, NOT_FOUND, ("%s", error->message), (NULL)); + g_clear_error (&error); return FALSE; } error: diff --git a/gst-libs/gst/gl/gstglfilter.c b/gst-libs/gst/gl/gstglfilter.c index 600b7c7..fd29ee0 100644 --- a/gst-libs/gst/gl/gstglfilter.c +++ b/gst-libs/gst/gl/gstglfilter.c @@ -178,7 +178,6 @@ gst_gl_filter_gl_start (GstGLBaseFilter * base_filter) GstGLFilterClass *filter_class = GST_GL_FILTER_GET_CLASS (filter); GstGLContext *context = GST_GL_BASE_FILTER (filter)->context; gint out_width, out_height; - GError *error = NULL; out_width = GST_VIDEO_INFO_WIDTH (&filter->out_info); out_height = GST_VIDEO_INFO_HEIGHT (&filter->out_info); @@ -205,7 +204,7 @@ gst_gl_filter_gl_start (GstGLBaseFilter * base_filter) context_error: { - GST_ELEMENT_ERROR (filter, RESOURCE, NOT_FOUND, ("%s", error->message), + GST_ELEMENT_ERROR (filter, RESOURCE, NOT_FOUND, ("Could not generate FBO"), (NULL)); return FALSE; }