diff --git a/wifibroadcast.cpp b/wifibroadcast.cpp index daee309..a0f9cdf 100644 --- a/wifibroadcast.cpp +++ b/wifibroadcast.cpp @@ -15,8 +15,11 @@ string string_format(const char *format, ...) va_list args; va_start(args, format); size_t size = vsnprintf(nullptr, 0, format, args) + 1; // Extra space for '\0' - unique_ptr buf(new char[ size ]); + va_end(args); + unique_ptr buf(new char[size]); + va_start(args, format); vsnprintf(buf.get(), size, format, args); + va_end(args); return string(buf.get(), buf.get() + size - 1); // We don't want the '\0' inside }