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