From b7b4a14db5bf7101935ca003259b85e542c7a7bc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Wed, 13 Sep 2017 18:08:22 +0200 Subject: [PATCH] st/glsl_to_tgsi: fix theoretical memory leak It can't *really* happen since we don't use subroutines. CID: 1417491 Reviewed-by: Timothy Arceri Reviewed-By: Gert Wollny --- src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp index 374393bb86e..76c198e165b 100644 --- a/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp +++ b/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp @@ -617,6 +617,7 @@ get_temp_registers_required_lifetimes(void *mem_ctx, exec_list *instructions, int if_id = 0; int switch_id = 0; bool is_at_end = false; + bool ok = true; int n_scopes = 1; /* Count scopes to allocate the needed space without the need for @@ -758,7 +759,8 @@ get_temp_registers_required_lifetimes(void *mem_ctx, exec_list *instructions, * Since this is not done, we have to bail out here and signal * that no register merge will take place. */ - return false; + ok = false; + goto out; default: { for (unsigned j = 0; j < num_inst_src_regs(inst); j++) { const st_src_reg& src = inst->src[j]; @@ -797,8 +799,9 @@ get_temp_registers_required_lifetimes(void *mem_ctx, exec_list *instructions, } RENAME_DEBUG(cerr << "==================================\n\n"); +out: delete[] acc; - return true; + return ok; } /* Find the next register between [start, end) that has a life time starting -- 2.30.2