From cdf9f3c04eecd4fa0ab073cc0f2912da37edd189 Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Fri, 23 May 2014 15:49:15 -0400 Subject: [PATCH] Eval - Protection against array overrun. - Typo in diagnostic output. --- src/Eval.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Eval.cpp b/src/Eval.cpp index 042d870e8..e944d0579 100644 --- a/src/Eval.cpp +++ b/src/Eval.cpp @@ -711,7 +711,8 @@ bool Eval::parsePrimitive ( std::cout << "# " << infix[i].first << "\n"; ++i; - if (parseLogical (infix, i)) + if (i < infix.size () && + parseLogical (infix, i)) { if (i < infix.size () && infix[i].first == ")") @@ -734,7 +735,7 @@ bool Eval::parsePrimitive ( if ((*source) (infix[i].first, v)) { if (_debug) - std::cout << "# " << infix[i].first << "' --> '" << (std::string) v << "'\n"; + std::cout << "# '" << infix[i].first << "' --> '" << (std::string) v << "'\n"; found = true; break; }