From: Gunnar Beutner Date: Thu, 19 Mar 2015 07:17:57 +0000 (+0100) Subject: Fix leak in ConfigCompiler::CompileStream X-Git-Tag: v2.4.0~800 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=088426518060783bc4ebbf8ad2e29c29683a99c2;p=icinga2 Fix leak in ConfigCompiler::CompileStream refs #8791 --- diff --git a/lib/config/configcompiler.cpp b/lib/config/configcompiler.cpp index 5f255f253..8fc48c64f 100644 --- a/lib/config/configcompiler.cpp +++ b/lib/config/configcompiler.cpp @@ -207,12 +207,17 @@ Expression *ConfigCompiler::CompileStream(const String& path, std::istream *stre Utility::QueueAsyncCallback(boost::bind(&ConfigCompiler::CompileHelper, ctx)); return new FutureExpression(ftr); } else { + Expression *expr; + try { - return ctx->Compile(); + expr = ctx->Compile(); } catch (...) { delete ctx; throw; } + + delete ctx; + return expr; } }