From 081654efe3e47e9ed85b6efccb9438ee19ddb164 Mon Sep 17 00:00:00 2001 From: Joel Grunbaum <joelgrun@gmail.com> Date: Tue, 20 Jul 2021 14:29:31 +0000 Subject: [PATCH] Fixed table memory leak --- main.cpp | 2 +- ast.cpp | 3 ++- gens.h | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ast.cpp b/ast.cpp index 57bd9ae..2c349da 100644 --- a/ast.cpp +++ b/ast.cpp @@ -174,7 +174,8 @@ for (std::vector<Line_Word*>::size_type j = 0; j < t->size(); j++) { delete (*t)[j]; } - table[i]->clear(); + t->clear(); + delete t; } table.clear(); } diff --git a/gens.h b/gens.h index d69d229..6ffed04 100644 --- a/gens.h +++ b/gens.h @@ -4,6 +4,7 @@ class gen: public ast_visitor { public: + virtual ~gen()=default; virtual void set_file(std::string file_name)=0; virtual void* visit_Document(Document *d)=0; virtual void* visit_Block_Table(Block_Table *bt)=0; diff --git a/main.cpp b/main.cpp index 9105006..014c2a3 100644 --- a/main.cpp +++ b/main.cpp @@ -8,7 +8,7 @@ { Document *d; parser *p = new tester(); - gen *g = new dot_gen(); + dot_gen *g = new dot_gen(); g->set_file("temp.dot"); d = p->parse(); d->visit(g); -- Gitblit v1.10.0