src/share/vm/prims/jvmtiTagMap.cpp
Print this page
rev 7665 : 6584008: jvmtiStringPrimitiveCallback should not be invoked when string value is null
Summary: Fix a crash in the jvmtiStringPrimitiveCallback.
Reviewed-by: sla
@@ -1044,14 +1044,20 @@
oop str,
void* user_data)
{
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) {
value = s_value->char_at_addr(s_offset);
} else {