Revision: 7296
Author: [email protected]
Date: Mon Mar 21 16:06:38 2011
Log: Fix Win32 bots - they crash/timeout on too long thread name.
Review URL: http://codereview.chromium.org/6676076
http://code.google.com/p/v8/source/detail?r=7296
Modified:
/branches/bleeding_edge/src/platform-win32.cc
/branches/bleeding_edge/src/win32-headers.h
=======================================
--- /branches/bleeding_edge/src/platform-win32.cc Mon Mar 21 10:40:40 2011
+++ /branches/bleeding_edge/src/platform-win32.cc Mon Mar 21 16:06:38 2011
@@ -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));
}
=======================================
--- /branches/bleeding_edge/src/win32-headers.h Fri Mar 18 12:41:05 2011
+++ /branches/bleeding_edge/src/win32-headers.h Mon Mar 21 16:06:38 2011
@@ -66,6 +66,7 @@
#endif // __MINGW32__
#ifndef __MINGW32__
#include <dbghelp.h> // For SymLoadModule64 and al.
+#include <errno.h> // For STRUNCATE
#endif // __MINGW32__
#include <limits.h> // For INT_MAX and al.
#include <tlhelp32.h> // For Module32First and al.
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev