From ea9936c5443e589d356ba01a2c9cd569b420feeb Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Wed, 3 Nov 2021 09:42:40 +0100 Subject: [PATCH] rulegen:: fix memory leak in add_other_origins --- rulegen.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rulegen.cpp b/rulegen.cpp index c010e00d..e006edf0 100644 --- a/rulegen.cpp +++ b/rulegen.cpp @@ -1845,6 +1845,7 @@ void build_test(); struct hrmap_rulegen : hrmap { hrmap *base; heptagon *origin; + vector extra_origins; heptagon* gen(int s, int d, bool c7) { int t = arb::current.shapes[treestates[s].sid].size(); @@ -1858,7 +1859,8 @@ struct hrmap_rulegen : hrmap { } ~hrmap_rulegen() { - clearfrom(origin); + clearfrom(origin); + for(auto eo: extra_origins) clearfrom(eo); } hrmap_rulegen() { @@ -2035,6 +2037,7 @@ EX void add_other_origins(hrmap *m0) { tcell_to_cell[c] = s; c->dist = 0; t_origin.push_back(c); + m->extra_origins.push_back(extra_origin); } println(hlog, "t_origin size = ", isize(t_origin));