]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[5449] Removed throwing scan memory leak
authorFrancis Dupont <fdupont@isc.org>
Thu, 21 Dec 2017 18:45:24 +0000 (19:45 +0100)
committerFrancis Dupont <fdupont@isc.org>
Thu, 21 Dec 2017 18:45:24 +0000 (19:45 +0100)
src/lib/eval/eval_context.cc

index 562a67481ba8fc212f103150f901b96933ad90bd..e0b2d5f0e693d23b2eea1e16da58de42d274d868 100644 (file)
@@ -32,9 +32,15 @@ EvalContext::parseString(const std::string& str, ParserType type)
     file_ = "<string>";
     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);
 }