瀏覽代碼

Added missing va_end() calls

va_copy() should always have a matching va_end(), like va_start().

See: http://linux.die.net/man/3/va_copy
Stephen Hill 9 年之前
父節點
當前提交
221aa61bd6
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      include/bx/string.h

+ 2 - 0
include/bx/string.h

@@ -314,6 +314,7 @@ namespace bx
 		va_list argListCopy;
 		va_list argListCopy;
 		va_copy(argListCopy, _argList);
 		va_copy(argListCopy, _argList);
 		int32_t len = ::vsnprintf_s(_str, _count, size_t(-1), _format, argListCopy);
 		int32_t len = ::vsnprintf_s(_str, _count, size_t(-1), _format, argListCopy);
+		va_end(argListCopy);
 		return -1 == len ? ::_vscprintf(_format, _argList) : len;
 		return -1 == len ? ::_vscprintf(_format, _argList) : len;
 #else
 #else
 		return ::vsnprintf(_str, _count, _format, _argList);
 		return ::vsnprintf(_str, _count, _format, _argList);
@@ -329,6 +330,7 @@ namespace bx
 		va_list argListCopy;
 		va_list argListCopy;
 		va_copy(argListCopy, _argList);
 		va_copy(argListCopy, _argList);
 		int32_t len = ::_vsnwprintf_s(_str, _count, size_t(-1), _format, argListCopy);
 		int32_t len = ::_vsnwprintf_s(_str, _count, size_t(-1), _format, argListCopy);
+		va_end(argListCopy);
 		return -1 == len ? ::_vscwprintf(_format, _argList) : len;
 		return -1 == len ? ::_vscwprintf(_format, _argList) : len;
 #elif defined(__MINGW32__)
 #elif defined(__MINGW32__)
 		return ::vsnwprintf(_str, _count, _format, _argList);
 		return ::vsnwprintf(_str, _count, _format, _argList);