From c2db9fad1e43c20b8ca1981348fee4bdc20d441b Mon Sep 17 00:00:00 2001
From: Vincent Liard <vincent.liard@inria.fr>
Date: Fri, 20 Feb 2015 12:29:33 +0100
Subject: [PATCH] fix leaks in ae_replication_report ctor

---
 src/libaevol/ae_replication_report.cpp | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/src/libaevol/ae_replication_report.cpp b/src/libaevol/ae_replication_report.cpp
index 9811a5f67..720468eff 100644
--- a/src/libaevol/ae_replication_report.cpp
+++ b/src/libaevol/ae_replication_report.cpp
@@ -150,30 +150,22 @@ ae_replication_report::ae_replication_report( gzFile tree_file, ae_individual *
   int32_t mydnareport, myevent;
   int32_t nb_rears, nb_muts, nb_HT;
   DnaReplicReport * dnareport = NULL;
-  ae_mutation * event = NULL;
 
   for ( mydnareport = 0 ; mydnareport < nb_dna_replic_reports ; mydnareport++ )
   {
     dnareport = new DnaReplicReport();
     
     gzread( tree_file, &nb_HT, sizeof(nb_HT) );
-    // TODO vld fix memory leaks with news
     for ( myevent  = 0 ; myevent < nb_HT ; myevent++ )
-    {
-      event = new ae_mutation( tree_file );
-      dnareport->add_HT(*event);
-    }
-    
+      dnareport->add_HT(ae_mutation(tree_file));
+
     gzread( tree_file, &nb_rears, sizeof(nb_rears) );
     for ( myevent  = 0 ; myevent < nb_rears ; myevent++ )
-      dnareport->add_rear(*new ae_mutation(tree_file));
+      dnareport->add_rear(ae_mutation(tree_file));
 
     gzread( tree_file, &nb_muts, sizeof(nb_muts) );
     for(myevent  = 0 ; myevent < nb_muts ; myevent++ )
-    {
-      event = new ae_mutation( tree_file );
-      dnareport->add_mut(*event);
-    }
+      dnareport->add_mut(ae_mutation( tree_file ));
 
     dnareport->compute_stats();
     _dna_replic_reports.push_back(dnareport);
-- 
GitLab