st/vega: Fix memory leak in combine_shaders.
authorVinson Lee <vlee@freedesktop.org>
Sun, 24 Feb 2013 00:49:37 +0000 (16:49 -0800)
committerVinson Lee <vlee@freedesktop.org>
Wed, 27 Feb 2013 04:01:58 +0000 (20:01 -0800)
Fixes resource leak defect reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/state_trackers/vega/shaders_cache.c

index eceae54051e5409a0d41a964fa0e01157c02b924..c1082ca3673c5469020627ea32b3dc748a4c97b3 100644 (file)
@@ -225,8 +225,10 @@ combine_shaders(const struct shader_asm_info *shaders[SHADER_STAGES], int num_sh
    ureg_END(ureg);
 
    shader->tokens = ureg_finalize(ureg);
-   if(!shader->tokens)
+   if (!shader->tokens) {
+      ureg_destroy(ureg);
       return NULL;
+   }
 
    p = pipe->create_fs_state(pipe, shader);