From a3311f00b17b8c31a905c3105d7fb56fdaa0bbda Mon Sep 17 00:00:00 2001 From: Moonhee Choi Date: Tue, 22 Aug 2017 15:16:25 +0900 Subject: [PATCH] Fix Memory Leak - missing free on string buffer Change-Id: I2599c7cd36444cd89f052b80ed9e71ebbea2f7e5 Signed-off-by: Moonhee Choi --- src/cairo-evas-gl-context.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/cairo-evas-gl-context.c b/src/cairo-evas-gl-context.c index 433aafdfe..aa463ee2f 100755 --- a/src/cairo-evas-gl-context.c +++ b/src/cairo-evas-gl-context.c @@ -277,6 +277,8 @@ cairo_evas_gl_device_create (Evas_GL *evas_gl, Evas_GL_Config *evas_cfg; cairo_evas_gl_context_t *ctx; cairo_status_t status; + const char* str = NULL; + if (! evas_gl ||! evas_context) { fprintf (stderr, "cairo_evas_gl_device_create(): evas_gl or evas_context is NULL\n"); @@ -333,12 +335,16 @@ cairo_evas_gl_device_create (Evas_GL *evas_gl, return _cairo_gl_context_create_in_error (status); } - if (strstr(evas_gl_string_query (ctx->evas_gl, EVAS_GL_EXTENSIONS), - "GLX_MESA_multithread_makecurrent")) + str = evas_gl_string_query (ctx->evas_gl, EVAS_GL_EXTENSIONS); + + if (str && strstr(str, "GLX_MESA_multithread_makecurrent")) ctx->has_multithread_makecurrent = TRUE; else ctx->has_multithread_makecurrent = FALSE; + if (str) + free (str); + // reset vbo_size ctx->base.vbo_size = 16 * 1024; -- 2.34.1