Fixed two more memory leaks in array_info.cpp
authorClark Barrett <barrett@cs.nyu.edu>
Thu, 4 Feb 2016 21:57:26 +0000 (13:57 -0800)
committerClark Barrett <barrett@cs.nyu.edu>
Thu, 4 Feb 2016 21:57:26 +0000 (13:57 -0800)
src/theory/arrays/array_info.cpp

index acc73163c03ad714634a948fe81d3bc86b34eaa4..55f013f8c550e2b8da5d0a9aa0e205996c061229 100644 (file)
@@ -161,11 +161,9 @@ void ArrayInfo::addStore(const Node a, const TNode st){
 
   CNodeInfoMap::iterator it = info_map.find(a);
   if(it == info_map.end()) {
-    temp_store = new(true) CTNodeList(ct);
-    temp_store->push_back(st);
-
     temp_info = new Info(ct, bck);
-    temp_info->stores = temp_store;
+    temp_store = temp_info->stores;
+    temp_store->push_back(st);
     info_map[a]=temp_info;
   } else {
     temp_store = (*it).second->stores;
@@ -186,11 +184,9 @@ void ArrayInfo::addInStore(const TNode a, const TNode b){
 
   CNodeInfoMap::iterator it = info_map.find(a);
   if(it == info_map.end()) {
-    temp_inst = new(true) CTNodeList(ct);
-    temp_inst->push_back(b);
-
     temp_info = new Info(ct, bck);
-    temp_info->in_stores = temp_inst;
+    temp_inst = temp_info->in_stores;
+    temp_inst->push_back(b);
     info_map[a] = temp_info;
   } else {
     temp_inst = (*it).second->in_stores;