Fix memory leak in unit test node_algorithm_black (#4670)
authorAndres Noetzli <andres.noetzli@gmail.com>
Mon, 29 Jun 2020 20:01:09 +0000 (13:01 -0700)
committerGitHub <noreply@github.com>
Mon, 29 Jun 2020 20:01:09 +0000 (15:01 -0500)
Commit ccd4500 modified the unit test
node_algorithm_black. It added d_bvTypeNode as a data member to the
class and initialized it in setUp() but did not free it in
tearDown(), which set off ASan. This commit fixes tearDown() to free
d_bvTypeNode.

Marking this as major because it should fix the nightlies.

test/unit/expr/node_algorithm_black.h

index 1f799cd405a5fa73faeb6cf134d4fab6b1ea4081..7505215e7752fd11a72a51a9761d21da26c8256d 100644 (file)
@@ -32,13 +32,6 @@ using namespace CVC4::kind;
 
 class NodeAlgorithmBlack : public CxxTest::TestSuite
 {
- private:
-  NodeManager* d_nodeManager;
-  NodeManagerScope* d_scope;
-  TypeNode* d_intTypeNode;
-  TypeNode* d_boolTypeNode;
-  TypeNode* d_bvTypeNode;
-
  public:
   void setUp() override
   {
@@ -51,8 +44,9 @@ class NodeAlgorithmBlack : public CxxTest::TestSuite
 
   void tearDown() override
   {
-    delete d_intTypeNode;
+    delete d_bvTypeNode;
     delete d_boolTypeNode;
+    delete d_intTypeNode;
     delete d_scope;
     delete d_nodeManager;
   }
@@ -216,4 +210,11 @@ class NodeAlgorithmBlack : public CxxTest::TestSuite
     TS_ASSERT_EQUALS(subs.size(), 1);
     TS_ASSERT_EQUALS(subs[x], a);
   }
+
+ private:
+  NodeManager* d_nodeManager;
+  NodeManagerScope* d_scope;
+  TypeNode* d_intTypeNode;
+  TypeNode* d_boolTypeNode;
+  TypeNode* d_bvTypeNode;
 };