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