From: Francis Dupont Date: Thu, 21 Dec 2017 18:45:24 +0000 (+0100) Subject: [5449] Removed throwing scan memory leak X-Git-Tag: trac5694_base~2^2~2^2~2 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=222bf8e9551d7f79bd8e95130f26cdcf73911b22;p=thirdparty%2Fkea.git [5449] Removed throwing scan memory leak --- diff --git a/src/lib/eval/eval_context.cc b/src/lib/eval/eval_context.cc index 562a67481b..e0b2d5f0e6 100644 --- a/src/lib/eval/eval_context.cc +++ b/src/lib/eval/eval_context.cc @@ -32,9 +32,15 @@ EvalContext::parseString(const std::string& str, ParserType type) file_ = ""; string_ = str; scanStringBegin(type); - isc::eval::EvalParser parser(*this); - parser.set_debug_level(trace_parsing_); - int res = parser.parse(); + int res = -1; + try { + isc::eval::EvalParser parser(*this); + parser.set_debug_level(trace_parsing_); + res = parser.parse(); + } catch (...) { + scanStringEnd(); + throw; + } scanStringEnd(); return (res == 0); }