From: Alexander A. Klimov Date: Fri, 1 Mar 2019 13:30:49 +0000 (+0100) Subject: InfluxdbWriter: don't leak sockets X-Git-Tag: v2.11.0-rc1~201^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=refs%2Fpull%2F6990%2Fhead;p=icinga2 InfluxdbWriter: don't leak sockets refs #6989 --- diff --git a/lib/perfdata/influxdbwriter.cpp b/lib/perfdata/influxdbwriter.cpp index 773f21a2a..b75cd7a3f 100644 --- a/lib/perfdata/influxdbwriter.cpp +++ b/lib/perfdata/influxdbwriter.cpp @@ -9,6 +9,7 @@ #include "icinga/macroprocessor.hpp" #include "icinga/icingaapplication.hpp" #include "icinga/checkcommand.hpp" +#include "base/defer.hpp" #include "base/tcpsocket.hpp" #include "base/configtype.hpp" #include "base/objectlock.hpp" @@ -447,6 +448,8 @@ void InfluxdbWriter::Flush() if (!stream) return; + Defer close ([&stream]() { stream->Close(); }); + Url::Ptr url = new Url(); url->SetScheme(GetSslEnable() ? "https" : "http"); url->SetHost(GetHost());