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/helperfuncs.cpp | |
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/helperfuncs.cpp')
-rw-r--r-- | src/helperfuncs.cpp | 2 |
1 files changed, 2 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]; |