diff options
Diffstat (limited to 'src/pal/inc/rt')
-rw-r--r-- | src/pal/inc/rt/palrt.h | 19 | ||||
-rw-r--r-- | src/pal/inc/rt/safecrt.h | 20 |
2 files changed, 31 insertions, 8 deletions
diff --git a/src/pal/inc/rt/palrt.h b/src/pal/inc/rt/palrt.h index a7d4bc2d35..4aeb227eb9 100644 --- a/src/pal/inc/rt/palrt.h +++ b/src/pal/inc/rt/palrt.h @@ -992,9 +992,12 @@ inline int __cdecl _vsnwprintf_unsafe(wchar_t *_Dst, size_t _SizeInWords, size_t inline int __cdecl _snwprintf_unsafe(wchar_t *_Dst, size_t _SizeInWords, size_t _Count, const wchar_t *_Format, ...) { + int ret; va_list _ArgList; va_start(_ArgList, _Format); - return _vsnwprintf_unsafe(_Dst, _SizeInWords, _Count, _Format, _ArgList); + ret = _vsnwprintf_unsafe(_Dst, _SizeInWords, _Count, _Format, _ArgList); + va_end(_ArgList); + return ret; } inline int __cdecl _vsnprintf_unsafe(char *_Dst, size_t _SizeInWords, size_t _Count, const char *_Format, va_list _ArgList) @@ -1011,13 +1014,17 @@ inline int __cdecl _vsnprintf_unsafe(char *_Dst, size_t _SizeInWords, size_t _Co inline int __cdecl _snprintf_unsafe(char *_Dst, size_t _SizeInWords, size_t _Count, const char *_Format, ...) { + int ret; va_list _ArgList; va_start(_ArgList, _Format); - return _vsnprintf_unsafe(_Dst, _SizeInWords, _Count, _Format, _ArgList); + ret = _vsnprintf_unsafe(_Dst, _SizeInWords, _Count, _Format, _ArgList); + va_end(_ArgList); + return ret; } inline int __cdecl _swscanf_unsafe(const wchar_t *_Dst, const wchar_t *_Format,...) { + int ret; va_list _ArgList; va_start(_ArgList, _Format); wchar_t *tempFormat; @@ -1044,11 +1051,14 @@ inline int __cdecl _swscanf_unsafe(const wchar_t *_Dst, const wchar_t *_Format,. tempFormat++; } - return swscanf(_Dst, _Format, _ArgList); + ret = swscanf(_Dst, _Format, _ArgList); + va_end(_ArgList); + return ret; } inline int __cdecl _sscanf_unsafe(const char *_Dst, const char *_Format,...) { + int ret; char *tempFormat; va_list _ArgList; @@ -1077,7 +1087,8 @@ inline int __cdecl _sscanf_unsafe(const char *_Dst, const char *_Format,...) } - return sscanf(_Dst, _Format, _ArgList); + ret = sscanf(_Dst, _Format, _ArgList); + va_end(_ArgList); } inline errno_t __cdecl _wfopen_unsafe(FILE * *ff, const wchar_t *fileName, const wchar_t *mode) diff --git a/src/pal/inc/rt/safecrt.h b/src/pal/inc/rt/safecrt.h index 9b084b519e..e0b64b7116 100644 --- a/src/pal/inc/rt/safecrt.h +++ b/src/pal/inc/rt/safecrt.h @@ -3194,9 +3194,12 @@ template <size_t _SizeInBytes> inline int __cdecl sprintf_s(char (&_Dst)[_SizeInBytes], const char *_Format, ...) { + int ret; va_list _ArgList; va_start(_ArgList, _Format); - return vsprintf_s(_Dst, _SizeInBytes, _Format, _ArgList); + ret = vsprintf_s(_Dst, _SizeInBytes, _Format, _ArgList); + va_end(_ArgList); + return ret; } template <size_t _SizeInBytes> @@ -3220,9 +3223,12 @@ template <size_t _SizeInWords> inline int __cdecl swprintf_s(char (&_Dst)[_SizeInWords], const char *_Format, ...) { + int ret; va_list _ArgList; va_start(_ArgList, _Format); - return vswprintf_s(_Dst, _SizeInWords, _Format, _ArgList); + ret = vswprintf_s(_Dst, _SizeInWords, _Format, _ArgList); + va_end(_ArgList); + return ret; } template <size_t _SizeInWords> @@ -3261,9 +3267,12 @@ template <size_t _SizeInBytes> inline int __cdecl _snprintf_s(char (&_Dst)[_SizeInBytes], size_t _Count, const char *_Format, ...) { + int ret; va_list _ArgList; va_start(_ArgList, _Format); - return _vsnprintf_s(_Dst, _SizeInBytes, _Count, _Format, _ArgList); + ret = _vsnprintf_s(_Dst, _SizeInBytes, _Count, _Format, _ArgList); + va_end(_ArgList); + return ret; } template <size_t _SizeInBytes> @@ -3287,9 +3296,12 @@ template <size_t _SizeInWords> inline int __cdecl _snwprintf_s(char (&_Dst)[_SizeInWords], size_t _Count, const char *_Format, ...) { + int ret; va_list _ArgList; va_start(_ArgList, _Format); - return _vsnwprintf_s(_Dst, _SizeInWords, _Count, _Format, _ArgList); + ret = _vsnwprintf_s(_Dst, _SizeInWords, _Count, _Format, _ArgList); + va_end(_ArgList); + return ret; } template <size_t _SizeInWords> |