From: Vinson Lee Date: Tue, 25 Oct 2011 15:23:02 +0000 (-0700) Subject: tgsi: Fix memory leak in out-of-memory path. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=265f55e6273aafc8e7607cd70a4b9756f7cb6bff;p=mesa.git tgsi: Fix memory leak in out-of-memory path. Fixes Coverity resource leak defect. Reviewed-by: Brian Paul --- diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index b4eea546b73..1fb7f8f1898 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -674,16 +674,19 @@ tgsi_exec_machine_bind_shader( if (mach->Processor == TGSI_PROCESSOR_GEOMETRY && !mach->UsedGeometryShader) { - struct tgsi_exec_vector *inputs = - align_malloc(sizeof(struct tgsi_exec_vector) * - TGSI_MAX_PRIM_VERTICES * PIPE_MAX_ATTRIBS, - 16); - struct tgsi_exec_vector *outputs = - align_malloc(sizeof(struct tgsi_exec_vector) * - TGSI_MAX_TOTAL_VERTICES, 16); + struct tgsi_exec_vector *inputs; + struct tgsi_exec_vector *outputs; + + inputs = align_malloc(sizeof(struct tgsi_exec_vector) * + TGSI_MAX_PRIM_VERTICES * PIPE_MAX_ATTRIBS, + 16); if (!inputs) return; + + outputs = align_malloc(sizeof(struct tgsi_exec_vector) * + TGSI_MAX_TOTAL_VERTICES, 16); + if (!outputs) { align_free(inputs); return;