From: Philipp Zabel Date: Fri, 30 Jun 2017 08:39:53 +0000 (+0200) Subject: st/mesa: release EGLImage on EGLImageTarget* error X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7d7bcd65d6019dfb63f31138a426fe2a043016db;p=mesa.git st/mesa: release EGLImage on EGLImageTarget* error The smapi->get_egl_image() call in st_egl_image_get_surface() stores a reference to the EGLImage's texture in stimg.texture. That reference is released via pipe_resource_reference(&stimg.texture, NULL) before stimg goes out of scope at the end of the function, but not in the error path if !is_format_supported(). Fixes: 83e9de25f325 ("st/mesa: EGLImageTarget* error handling") Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Philipp Zabel Reviewed-by: Marek Olšák --- diff --git a/src/mesa/state_tracker/st_cb_eglimage.c b/src/mesa/state_tracker/st_cb_eglimage.c index 0f649f4ab43..4b7b85db708 100644 --- a/src/mesa/state_tracker/st_cb_eglimage.c +++ b/src/mesa/state_tracker/st_cb_eglimage.c @@ -96,6 +96,7 @@ st_egl_image_get_surface(struct gl_context *ctx, GLeglImageOES image_handle, if (!is_format_supported(screen, stimg.format, stimg.texture->nr_samples, usage)) { /* unable to specify a texture object using the specified EGL image */ + pipe_resource_reference(&stimg.texture, NULL); _mesa_error(ctx, GL_INVALID_OPERATION, "%s(format not supported)", error); return NULL; }