From 34aaf41bcf4ee747629f034ae9e8c0dcaa20bc8d Mon Sep 17 00:00:00 2001 From: stefaan himpe Date: Sat, 6 Jan 2018 22:13:15 +0100 Subject: [PATCH] issue #3392: add missing va_end --- SCDoc/main.cpp | 2 ++ lang/LangPrimSource/SC_HID_api.cpp | 1 + lang/LangSource/SC_LanguageClient.cpp | 3 +++ server/scsynth/SC_World.cpp | 2 +- server/supernova/sc/sc_synth.cpp | 1 + server/supernova/server/server.cpp | 1 + server/supernova/server/server.hpp | 1 + 7 files changed, 10 insertions(+), 1 deletion(-) diff --git a/SCDoc/main.cpp b/SCDoc/main.cpp index 260993a497f..c468c328be6 100644 --- a/SCDoc/main.cpp +++ b/SCDoc/main.cpp @@ -12,6 +12,7 @@ void error(const char *fmt, ...) va_start(vargs, fmt); vfprintf(stderr, fmt, vargs); fflush(stderr); + va_end(vargs); } void post(const char *fmt, ...) @@ -20,6 +21,7 @@ void post(const char *fmt, ...) va_start(vargs, fmt); vfprintf(stderr, fmt, vargs); fflush(stderr); + va_end(vargs); } int main(int argc, char **argv) diff --git a/lang/LangPrimSource/SC_HID_api.cpp b/lang/LangPrimSource/SC_HID_api.cpp index 20cdad97674..998ed044f0b 100644 --- a/lang/LangPrimSource/SC_HID_api.cpp +++ b/lang/LangPrimSource/SC_HID_api.cpp @@ -54,6 +54,7 @@ static inline void trace(const char *fmt, ...) va_list ap; va_start(ap, fmt); vpost(fmt, ap); + va_end(ap); } #else static inline void trace(...) diff --git a/lang/LangSource/SC_LanguageClient.cpp b/lang/LangSource/SC_LanguageClient.cpp index c78ff3a798b..ff676d62b82 100644 --- a/lang/LangSource/SC_LanguageClient.cpp +++ b/lang/LangSource/SC_LanguageClient.cpp @@ -393,6 +393,7 @@ void post(const char *fmt, ...) va_list ap; va_start(ap, fmt); vpost(fmt, ap); + va_end(ap); } void postfl(const char *fmt, ...) @@ -406,6 +407,7 @@ void postfl(const char *fmt, ...) if (client) client->postFlush(buf, sc_min(n, sizeof(buf) - 1)); SC_LanguageClient::unlockInstance(); } + va_end(ap); } void postText(const char *str, long len) @@ -433,6 +435,7 @@ void error(const char *fmt, ...) if (client) client->postError(buf, sc_min(n, sizeof(buf) - 1)); SC_LanguageClient::unlockInstance(); } + va_end(ap); } void flushPostBuf(void) diff --git a/server/scsynth/SC_World.cpp b/server/scsynth/SC_World.cpp index a44c4333de9..58de4eed243 100644 --- a/server/scsynth/SC_World.cpp +++ b/server/scsynth/SC_World.cpp @@ -1287,7 +1287,7 @@ int scprintf(const char *fmt, ...) { va_list vargs; va_start(vargs, fmt); - + va_end(vargs); if (gPrint) return (*gPrint)(fmt, vargs); else return vprintf(fmt, vargs); } diff --git a/server/supernova/sc/sc_synth.cpp b/server/supernova/sc/sc_synth.cpp index e6f992f5329..a4d8f9d10fc 100644 --- a/server/supernova/sc/sc_synth.cpp +++ b/server/supernova/sc/sc_synth.cpp @@ -277,6 +277,7 @@ struct scratchpad_printer va_list vargs; va_start(vargs, fmt); printf(fmt, vargs); + va_end(vargs); } const char * data(void) const diff --git a/server/supernova/server/server.cpp b/server/supernova/server/server.cpp index ea517ceb984..be60ae9db2d 100644 --- a/server/supernova/server/server.cpp +++ b/server/supernova/server/server.cpp @@ -363,6 +363,7 @@ void realtime_engine_functor::log_printf_(const char * fmt, ...) va_list vargs; va_start(vargs, fmt); instance->log_printf(fmt, vargs); + va_end(vargs); } diff --git a/server/supernova/server/server.hpp b/server/supernova/server/server.hpp index 33a4fcff4c9..c5610a5167a 100644 --- a/server/supernova/server/server.hpp +++ b/server/supernova/server/server.hpp @@ -291,6 +291,7 @@ inline bool log_printf(const char *fmt, ...) { va_list vargs; va_start(vargs, fmt); + va_end(vargs); return instance->log_printf(fmt, vargs); }