| Index: base/strings/string_util_win.h
|
| diff --git a/base/strings/string_util_win.h b/base/strings/string_util_win.h
|
| index 602ba27378408f7b06141be4bd4eb219dd6a70b5..61eda2009d0879f37d1e8e97a9a4d7ba6662d975 100644
|
| --- a/base/strings/string_util_win.h
|
| +++ b/base/strings/string_util_win.h
|
| @@ -34,12 +34,9 @@ inline int strncmp16(const char16* s1, const char16* s2, size_t count) {
|
|
|
| inline int vsnprintf(char* buffer, size_t size,
|
| const char* format, va_list arguments) {
|
| - int length = _vsprintf_p(buffer, size, format, arguments);
|
| - if (length < 0) {
|
| - if (size > 0)
|
| - buffer[0] = 0;
|
| - return _vscprintf_p(format, arguments);
|
| - }
|
| + int length = vsnprintf_s(buffer, size, size - 1, format, arguments);
|
| + if (length < 0)
|
| + return _vscprintf(format, arguments);
|
| return length;
|
| }
|
|
|
| @@ -47,12 +44,9 @@ inline int vswprintf(wchar_t* buffer, size_t size,
|
| const wchar_t* format, va_list arguments) {
|
| DCHECK(IsWprintfFormatPortable(format));
|
|
|
| - int length = _vswprintf_p(buffer, size, format, arguments);
|
| - if (length < 0) {
|
| - if (size > 0)
|
| - buffer[0] = 0;
|
| - return _vscwprintf_p(format, arguments);
|
| - }
|
| + int length = _vsnwprintf_s(buffer, size, size - 1, format, arguments);
|
| + if (length < 0)
|
| + return _vscwprintf(format, arguments);
|
| return length;
|
| }
|
|
|
|
|