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 <phomes@gmail.com>.
Remove trivial svga_destroy_shader_emitter() function, by BrianP.

Signed-off-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Brian Paul 2016-03-29 13:34:36 -06:00
parent 9d57c84994
commit 96e0894106

View file

@ -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;
}