Chromium Code Reviews| Index: core/include/fxcrt/fx_system.h |
| diff --git a/core/include/fxcrt/fx_system.h b/core/include/fxcrt/fx_system.h |
| index a875da5f9c6fb035a8c26730eb8ebd93672a1239..d6ae5af18d4ad5522c96f67f732e6e2ddbb40e53 100644 |
| --- a/core/include/fxcrt/fx_system.h |
| +++ b/core/include/fxcrt/fx_system.h |
| @@ -34,8 +34,9 @@ |
| #endif |
| #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
| #define _CRT_SECURE_NO_WARNINGS |
| +#include <sal.h> |
| #include <windows.h> |
| -#endif |
| +#endif // _FXM_PLATFORM_WINDOWS_ |
| #define _FX_W32_ 1 |
| #define _FX_W64_ 2 |
| #ifndef _FX_WORDSIZE_ |
| @@ -137,13 +138,17 @@ typedef FX_UINT64 FX_QWORD; |
| #define FX_MAX(a, b) (((a) > (b)) ? (a) : (b)) |
| #define FX_MIN(a, b) (((a) < (b)) ? (a) : (b)) |
| #define FX_PI 3.1415926535897932384626433832795f |
| -#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
| -#define FXSYS_snprintf _snprintf |
| -#define FXSYS_vsnprintf _vsnprintf |
| + |
| +// NOTE: prevent use of the return value from snprintf(), and provide versions |
| +// that always NUL-terminate. |
|
brucedawson
2015/04/10 18:43:19
Say why we need to prevent use of the return value
|
| +#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ && _MSC_VER < 1900 |
| +void FXSYS_snprintf(char *str, size_t size, _Printf_format_string_ const char* fmt, ...); |
| +void FXSYS_vsnprintf(char *str, size_t size, _Printf_format_string_ const char* fmt, va_list ap); |
| #else |
| -#define FXSYS_snprintf snprintf |
| -#define FXSYS_vsnprintf vsnprintf |
| +#define FXSYS_snprintf (void) snprintf |
| +#define FXSYS_vsnprintf (void) vsnprintf |
| #endif |
| + |
| #define FXSYS_sprintf DO_NOT_USE_SPRINTF_DIE_DIE_DIE |
| #define FXSYS_vsprintf DO_NOT_USE_VSPRINTF_DIE_DIE_DIE |
| #define FXSYS_strchr strchr |