From f5fea7484b4cc4233cf7ff2339fad88a688b476f Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Thu, 3 May 2012 18:50:24 +0200 Subject: [PATCH] Fix two formula leaks. * src/ltlvisit/simplify.cc (reduce_sere_ltl): Here. * src/ltltest/reduccmp.test: Add a test case. --- src/ltltest/reduccmp.test | 1 + src/ltlvisit/simplify.cc | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/ltltest/reduccmp.test b/src/ltltest/reduccmp.test index a6c4b47de..853aa450b 100755 --- a/src/ltltest/reduccmp.test +++ b/src/ltltest/reduccmp.test @@ -329,6 +329,7 @@ for x in ../reduccmp ../reductaustr; do run 0 $x '{a;(b[*2..4];c*;([*0]+{d;e}))*}!' \ '{a;(b[*2..4];c*;([*0]+{d;e}))*}!' run 0 $x '{((a*;b)+[*0])[*4..6]}!' '{((a*;b))[*0..6]}!' + run 0 $x '{c[*];e[*]}[]-> a' '{c[*];e[*]}[]-> a' ;; esac diff --git a/src/ltlvisit/simplify.cc b/src/ltlvisit/simplify.cc index d3fa5d077..098a0fd9f 100644 --- a/src/ltlvisit/simplify.cc +++ b/src/ltlvisit/simplify.cc @@ -1567,6 +1567,7 @@ namespace spot result_ = recurse_destroy(result_); return true; } + r->destroy(); } // {s[*];r}[]->b = !s R ({r}[]->b) // if s is Boolean and r does not accept [*0]; @@ -1588,6 +1589,7 @@ namespace spot result_ = recurse_destroy(result_); return true; } + r->destroy(); } // {r₁;r₂;r₃}[]->b = {r₁}[]->X({r₂}[]->X({r₃}[]->b))