summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoonhee Choi <mh0310.choi@samsung.com>2017-07-03 18:17:32 +0900
committerMoonhee Choi <mh0310.choi@samsung.com>2017-07-03 18:17:32 +0900
commitc2843b1c511bb7f4fb418664e5ad66a92c3cadbd (patch)
tree722582f8b9034b827f937779d5235d99d78250e1
parent4d9e2b04057fab1e18c4b0ddb948d87fb045c28b (diff)
downloadcairo-c2843b1c511bb7f4fb418664e5ad66a92c3cadbd.tar.gz
cairo-c2843b1c511bb7f4fb418664e5ad66a92c3cadbd.tar.bz2
cairo-c2843b1c511bb7f4fb418664e5ad66a92c3cadbd.zip
- The "image" allocated at line 786 is not freed before moving to label fail at line 803. - It was fixed in community: https://bugs.freedesktop.org/show_bug.cgi?id=91537 Change-Id: I91833b0f7be723f050e7c1d38ae64e5f07d831fe
-rw-r--r--src/cairo-gl-operand.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/cairo-gl-operand.c b/src/cairo-gl-operand.c
index de3cee725..0d5c053a1 100644
--- a/src/cairo-gl-operand.c
+++ b/src/cairo-gl-operand.c
@@ -790,12 +790,18 @@ _cairo_gl_pattern_texture_setup (cairo_gl_operand_t *operand,
if (src_is_gl_surface) {
status = _cairo_gl_context_release (ctx, status);
if (unlikely (status))
+ {
+ _cairo_surface_unmap_image (&surface->base, image);
goto fail;
+ }
/* we need to release one more time */
status = _cairo_gl_context_release (ctx, status);
if (unlikely (status))
+ {
+ _cairo_surface_unmap_image (&surface->base, image);
goto fail;
+ }
}
status = _cairo_surface_offset_paint (&image->base, extents->x, extents->y,
@@ -833,7 +839,7 @@ _cairo_gl_pattern_texture_setup (cairo_gl_operand_t *operand,
fail:
cairo_surface_destroy (&surface->base);
- cairo_surface_destroy (&image->base);
+
return status;
}