diff src/share/vm/prims/jvmtiTagMap.cpp @ 23286:dd9cc155639c

Merge with jdk8u66-b17
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Thu, 07 Jan 2016 17:28:46 +0100
parents 7848fc12602b 9686a796c829
children
line wrap: on
line diff
--- a/src/share/vm/prims/jvmtiTagMap.cpp	Fri Jan 22 12:48:57 2016 -1000
+++ b/src/share/vm/prims/jvmtiTagMap.cpp	Thu Jan 07 17:28:46 2016 +0100
@@ -1045,10 +1045,16 @@
 {
   assert(str->klass() == SystemDictionary::String_klass(), "not a string");
 
+  typeArrayOop s_value = java_lang_String::value(str);
+
+  // JDK-6584008: the value field may be null if a String instance is
+  // partially constructed.
+  if (s_value == NULL) {
+    return 0;
+  }
   // get the string value and length
   // (string value may be offset from the base)
   int s_len = java_lang_String::length(str);
-  typeArrayOop s_value = java_lang_String::value(str);
   int s_offset = java_lang_String::offset(str);
   jchar* value;
   if (s_len > 0) {