From: Brian Paul Date: Tue, 29 Mar 2016 19:34:36 +0000 (-0600) Subject: svga: avoid freeing non-malloced memory X-Git-Tag: android-x86-6.0-r1~2768 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=96e0894106b25eec2bab4545566d832846e99034;p=android-x86%2Fexternal-mesa.git svga: avoid freeing non-malloced memory svga_shader_expand() will fall back to using non-malloced memory for emit.buf if malloc fails. We should check if the memory is malloced before freeing it in the error path of svga_tgsi_vgpu9_translate. Original patch by Thomas Hindoe Paaboel Andersen . Remove trivial svga_destroy_shader_emitter() function, by BrianP. Signed-off-by: Brian Paul --- diff --git a/src/gallium/drivers/svga/svga_tgsi.c b/src/gallium/drivers/svga/svga_tgsi.c index c62d4d671ef..7396ad08e27 100644 --- a/src/gallium/drivers/svga/svga_tgsi.c +++ b/src/gallium/drivers/svga/svga_tgsi.c @@ -50,15 +50,6 @@ */ static char err_buf[128]; -#if 0 -static void -svga_destroy_shader_emitter(struct svga_shader_emitter *emit) -{ - if (emit->buf != err_buf) - FREE(emit->buf); -} -#endif - static boolean svga_shader_expand(struct svga_shader_emitter *emit) @@ -265,6 +256,7 @@ svga_tgsi_vgpu9_translate(struct svga_context *svga, fail: FREE(variant); - FREE(emit.buf); + if (emit.buf != err_buf) + FREE(emit.buf); return NULL; }