[Mesa-dev] [PATCH] nir/clone: Free clone_state after use
Eduardo Lima Mitev
elima at igalia.com
Tue Nov 14 22:18:22 UTC 2017
In nir_cf_list_clone(), a state_clone object is initialized but never
freed, causing a memory leak. If the remap_table argument is NULL,
init_state will create a hash table for it, and that's what
free_clone_state is supposed to free.
---
src/compiler/nir/nir_clone.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/compiler/nir/nir_clone.c b/src/compiler/nir/nir_clone.c
index bcfdaa7594..c823acb6ee 100644
--- a/src/compiler/nir/nir_clone.c
+++ b/src/compiler/nir/nir_clone.c
@@ -660,6 +660,9 @@ nir_cf_list_clone(nir_cf_list *dst, nir_cf_list *src, nir_cf_node *parent,
clone_cf_list(&state, &dst->list, &src->list);
fixup_phi_srcs(&state);
+
+ if (!remap_table)
+ free_clone_state(&state);
}
static nir_function_impl *
--
2.11.0
More information about the mesa-dev
mailing list