summaryrefslogtreecommitdiff
path: root/src/pal/inc/rt
diff options
context:
space:
mode:
authorGeoff Norton <grompf@gmail.com>2015-02-07 12:09:33 -0800
committerGeoff Norton <grompf@gmail.com>2015-02-07 12:09:33 -0800
commit944a21e253e92a1886dc62837479201624348e0e (patch)
tree368dbee4ba6ac0dad1954a7a515ebffff6e0b127 /src/pal/inc/rt
parent3ef44d46acba8c0544e455be4b1b7943fcc5596d (diff)
downloadcoreclr-944a21e253e92a1886dc62837479201624348e0e.tar.gz
coreclr-944a21e253e92a1886dc62837479201624348e0e.tar.bz2
coreclr-944a21e253e92a1886dc62837479201624348e0e.zip
Ensure that every usage of va_start is complemented by a va_end
Diffstat (limited to 'src/pal/inc/rt')
-rw-r--r--src/pal/inc/rt/palrt.h19
-rw-r--r--src/pal/inc/rt/safecrt.h20
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>