Index: src/profile-generator.cc |
diff --git a/src/profile-generator.cc b/src/profile-generator.cc |
index 7760d8f90e46feb65b8f2ab3c7a615c12bb93aa1..09b8b340bce2794c88c374eabec1e09b81c55b7e 100644 |
--- a/src/profile-generator.cc |
+++ b/src/profile-generator.cc |
@@ -148,11 +148,16 @@ const char* StringsStorage::GetVFormatted(const char* format, va_list args) { |
} |
+const uint32_t StringsStorage::kMaxNameSize = 1024; |
+ |
const char* StringsStorage::GetName(String* name) { |
if (name->IsString()) { |
- return AddOrDisposeString( |
- name->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL).Detach(), |
- name->Hash()); |
+ uint32_t length = name->length(); |
+ length = kMaxNameSize > length ? length : kMaxNameSize; |
mnaganov (inactive)
2011/11/09 11:45:23
length = Min(length, kMaxNameSize)
|
+ SmartArrayPointer<char> data = |
+ name->ToCString(DISALLOW_NULLS, ROBUST_STRING_TRAVERSAL, 0, length); |
+ uint32_t hash = HashSequentialString(*data, length); |
+ return AddOrDisposeString(data.Detach(), hash); |
} |
return ""; |
} |