diff --git a/exprtk.hpp b/exprtk.hpp index 20a514c..bba9184 100644 --- a/exprtk.hpp +++ b/exprtk.hpp @@ -19385,6 +19385,8 @@ namespace exprtk return error_node(); else if (!token_is(token_t::e_eof)) { + free_node(node_allocator_,default_statement); + set_error( make_error(parser_error::e_syntax, current_token(), diff --git a/exprtk_test.cpp b/exprtk_test.cpp index 2cfeda8..c3c819b 100644 --- a/exprtk_test.cpp +++ b/exprtk_test.cpp @@ -5903,7 +5903,7 @@ inline bool run_test19() T(2122700580) }; - bool failure = true; + bool failure = false; for (std::size_t i = 0; i < expr_str_list_size; ++i) { @@ -5934,7 +5934,7 @@ inline bool run_test19() } } - if (!failure) + if (failure) return false; }