| Index: src/platform-win32.cc
|
| ===================================================================
|
| --- src/platform-win32.cc (revision 7294)
|
| +++ src/platform-win32.cc (working copy)
|
| @@ -754,9 +754,13 @@
|
|
|
|
|
| void OS::StrNCpy(Vector<char> dest, const char* src, size_t n) {
|
| + // Use _TRUNCATE or strncpy_s crashes (by design) if buffer is too small.
|
| + size_t buffer_size = static_cast<size_t>(dest.length());
|
| + if (n + 1 > buffer_size) // count for trailing '\0'
|
| + n = _TRUNCATE;
|
| int result = strncpy_s(dest.start(), dest.length(), src, n);
|
| USE(result);
|
| - ASSERT(result == 0);
|
| + ASSERT(result == 0 || (n == _TRUNCATE && result == STRUNCATE));
|
| }
|
|
|
|
|
|
|