From: Daniel Vassdal Date: Mon, 25 Nov 2013 00:04:32 +0000 (-0800) Subject: Fix issues discovered by Coverity X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;ds=inline;h=0680b529874b701b20650586d8466a155d9ba0d5;p=user%2Fhenk%2Fcode%2Finspircd.git Fix issues discovered by Coverity - Fix resource leak in InspIRCd::Format() - Explicitly set NewServices to NULL before the object it points to goes out of scope --- diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index 590b993d1..1899ce1b3 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -400,6 +400,8 @@ const char* InspIRCd::Format(va_list &vaList, const char* formatString) va_copy(dst, vaList); int vsnret = vsnprintf(&formatBuffer[0], formatBuffer.size(), formatString, dst); + va_end(dst); + if (vsnret > 0 && static_cast(vsnret) < formatBuffer.size()) { return &formatBuffer[0]; diff --git a/src/modules.cpp b/src/modules.cpp index 92f619743..2157d1948 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -550,6 +550,8 @@ void ModuleManager::LoadAll() } } + this->NewServices = NULL; + if (!PrioritizeHooks()) ServerInstance->Exit(EXIT_STATUS_MODULE); }