[Mesa-dev] [PATCH] glsl: free uniform_map on failure path.

Dave Airlie airlied at gmail.com
Mon Sep 1 16:55:13 PDT 2014


From: Dave Airlie <airlied at redhat.com>

If we fails in reserve_explicit_locations, we leak uniform_map.

Reported-by: coverity scanner.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/glsl/linker.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index d5473ad..57be493 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -2439,8 +2439,10 @@ check_explicit_uniform_locations(struct gl_context *ctx,
          ir_variable *var = node->as_variable();
          if ((var && var->data.mode == ir_var_uniform) &&
              var->data.explicit_location) {
-            if (!reserve_explicit_locations(prog, uniform_map, var))
+            if (!reserve_explicit_locations(prog, uniform_map, var)) {
+               delete uniform_map;
                return;
+            }
          }
       }
    }
-- 
1.9.3



More information about the mesa-dev mailing list