diff options
author | Daniel Vassdal <shutter@canternet.org> | 2013-11-24 16:04:32 -0800 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2013-12-18 16:10:33 +0100 |
commit | 0680b529874b701b20650586d8466a155d9ba0d5 (patch) | |
tree | 0df766db7b4dda4102fcf3ab2cefd05bb3d8fb1b /src | |
parent | ff407e675117ca15f35df4ff294d07fa43069e63 (diff) |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/helperfuncs.cpp | 2 | ||||
-rw-r--r-- | src/modules.cpp | 2 |
2 files changed, 4 insertions, 0 deletions
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<unsigned>(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); } |