summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErnestas Kulik <[email protected]>2018-08-30 19:02:44 +0300
committerMarek Olšák <[email protected]>2018-09-04 14:01:43 -0400
commitd49904085a1c4054da247a54d3787ec34ef7c900 (patch)
treeaec3b06bb5d8916d3344af86a68d81f31428840d
parentea1e50cc166ae855f9fa91ca6a4f944123298e4e (diff)
glsl_to_tgsi: Fix potential leak
Reported by Coverity: arr_live_ranges is freed in a different branch than the one in which it was allocated. Signed-off-by: Ernestas Kulik <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
-rw-r--r--src/mesa/state_tracker/st_glsl_to_tgsi.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 7b96947c607..68573f628db 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -5616,10 +5616,11 @@ glsl_to_tgsi_visitor::merge_registers(void)
this->next_array = merge_arrays(this->next_array, this->array_sizes,
&this->instructions, arr_live_ranges);
-
- if (arr_live_ranges)
- delete[] arr_live_ranges;
}
+
+ if (arr_live_ranges)
+ delete[] arr_live_ranges;
+
ralloc_free(reg_live_ranges);
}