From 8b010f35578205eecbe574e8ef3914b398ba0b55 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tapani=20P=C3=A4lli?= Date: Wed, 6 Mar 2019 12:30:22 +0200 Subject: [PATCH] nir: free dead_ctx in case of no progress MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes a leak: ==7576== 320 (48 direct, 272 indirect) bytes in 1 blocks are definitely lost in loss record 26 of 26 ==7576== at 0x4C2EE3B: malloc (vg_replace_malloc.c:309) ==7576== by 0x53EF0E4: ralloc_size (ralloc.c:119) ==7576== by 0x53EF0C2: ralloc_context (ralloc.c:113) ==7576== by 0x5471F64: nir_split_per_member_structs (nir_split_per_member_structs.c:176) ==7576== by 0x51288CF: anv_shader_compile_to_nir (anv_pipeline.c:216) Signed-off-by: Tapani Pälli Reviewed-by: Lionel Landwerlin Reviewed-by: Eric Engestrom --- src/compiler/nir/nir_split_per_member_structs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_split_per_member_structs.c b/src/compiler/nir/nir_split_per_member_structs.c index c4de52d1461..592225ba644 100644 --- a/src/compiler/nir/nir_split_per_member_structs.c +++ b/src/compiler/nir/nir_split_per_member_structs.c @@ -183,8 +183,10 @@ nir_split_per_member_structs(nir_shader *shader) var_to_member_map, dead_ctx); progress |= split_variables_in_list(&shader->system_values, shader, var_to_member_map, dead_ctx); - if (!progress) + if (!progress) { + ralloc_free(dead_ctx); return false; + } nir_foreach_function(function, shader) { if (!function->impl) -- 2.30.2