Fix taa_tgba_formula's destructor.

* src/tgba/taatgba.cc (taa_tgba_formula::~taa_tgba_formula):
Really destroy all formulae, not only half of them.
This commit is contained in:
Alexandre Duret-Lutz 2010-01-21 15:16:43 +01:00
parent eef27f4496
commit e663c222e5
2 changed files with 12 additions and 6 deletions

View file

@ -1,3 +1,10 @@
2010-01-21 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Fix taa_tgba_formula's destructor.
* src/tgba/taatgba.cc (taa_tgba_formula::~taa_tgba_formula):
Really destroy all formulae, not only half of them.
2010-01-21 Alexandre Duret-Lutz <adl@lrde.epita.fr> 2010-01-21 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* src/tgbatest/randtgba.cc: Do not include <string> twice. * src/tgbatest/randtgba.cc: Do not include <string> twice.

View file

@ -1,6 +1,5 @@
// Copyright (C) 2009 Laboratoire d'Informatique de Paris // Copyright (C) 2009, 2010 Laboratoire de Recherche et Développement
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC), // de l'Epita (LRDE)
// Université Pierre et Marie Curie.
// //
// This file is part of Spot, a model checking library. // This file is part of Spot, a model checking library.
// //
@ -304,7 +303,7 @@ namespace spot
} }
for (seen_map::iterator i = seen_.begin(); i != seen_.end();) for (seen_map::iterator i = seen_.begin(); i != seen_.end();)
{ {
// Advance the iterator before deleting the formula. // Advance the iterator before deleting the state set.
const spot::state_set* s = i->first; const spot::state_set* s = i->first;
++i; ++i;
delete s; delete s;
@ -386,12 +385,12 @@ namespace spot
taa_tgba_formula::~taa_tgba_formula() taa_tgba_formula::~taa_tgba_formula()
{ {
ns_map::iterator i; ns_map::iterator i;
for (i = name_state_map_.begin(); i != name_state_map_.end(); ++i) for (i = name_state_map_.begin(); i != name_state_map_.end();)
{ {
taa_tgba::state::iterator i2; taa_tgba::state::iterator i2;
for (i2 = i->second->begin(); i2 != i->second->end(); ++i2) for (i2 = i->second->begin(); i2 != i->second->end(); ++i2)
delete *i2; delete *i2;
// Advance the iterator before deleting the formula. // Advance the iterator before destroying the formula.
const ltl::formula* s = i->first; const ltl::formula* s = i->first;
delete i->second; delete i->second;
++i; ++i;