diff --git a/NEWS b/NEWS index 72817495d..be25f0deb 100644 --- a/NEWS +++ b/NEWS @@ -31,6 +31,8 @@ New in spot 2.1.2.dev (not yet released) * str_sere() and str_utf8_sere() were not returning the same string that print_sere() and print_utf8_sere() would print. + * Running the LTL parser in debug-mode would crash. + New in spot 2.1.2 (2016-10-14) Command-line tools: diff --git a/spot/parsetl/parsetl.yy b/spot/parsetl/parsetl.yy index d4070e908..0830e70c7 100644 --- a/spot/parsetl/parsetl.yy +++ b/spot/parsetl/parsetl.yy @@ -236,8 +236,8 @@ using namespace spot; %destructor { $$->destroy(); } %printer { debug_stream() << *$$; } -%printer { print_psl(debug_stream(), formula($$)); } -%printer { print_sere(debug_stream(), formula($$)); } sere bracedsere +%printer { print_psl(debug_stream(), formula($$->clone())); } +%printer { print_sere(debug_stream(), formula($$->clone())); } sere bracedsere %printer { debug_stream() << $$; } %printer { debug_stream() << $$.min << ".." << $$.max; } diff --git a/tests/core/parse.test b/tests/core/parse.test index 48287dcd9..2a17a0582 100755 --- a/tests/core/parse.test +++ b/tests/core/parse.test @@ -1,7 +1,7 @@ #! /bin/sh # -*- coding: utf-8 -*- -# Copyright (C) 2009, 2010, 2011, 2012, 2013 Laboratoire de Recherche -# et Développement de l'Epita (LRDE). +# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2016 Laboratoire de +# Recherche et Développement de l'Epita (LRDE). # Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), # département Systèmes Répartis Coopératifs (SRC), Université Pierre # et Marie Curie. @@ -104,3 +104,6 @@ do fi fi done + +# Make sure running the parser in debug mode does not crash +run 0 ../ikwiad -d 'a U b'