6584008: jvmtiStringPrimitiveCallback should not be invoked when string value is null

Fri, 16 Jan 2015 09:15:22 +0100

author
aph
date
Fri, 16 Jan 2015 09:15:22 +0100
changeset 7577
9686a796c829
parent 7576
1830156c6b7e
child 7578
1f6ba0d2923d

6584008: jvmtiStringPrimitiveCallback should not be invoked when string value is null
Reviewed-by: sla, sspitsyn

src/share/vm/prims/jvmtiTagMap.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/prims/jvmtiTagMap.cpp	Wed Feb 04 04:31:38 2015 -0500
     1.2 +++ b/src/share/vm/prims/jvmtiTagMap.cpp	Fri Jan 16 09:15:22 2015 +0100
     1.3 @@ -1045,10 +1045,16 @@
     1.4  {
     1.5    assert(str->klass() == SystemDictionary::String_klass(), "not a string");
     1.6  
     1.7 +  typeArrayOop s_value = java_lang_String::value(str);
     1.8 +
     1.9 +  // JDK-6584008: the value field may be null if a String instance is
    1.10 +  // partially constructed.
    1.11 +  if (s_value == NULL) {
    1.12 +    return 0;
    1.13 +  }
    1.14    // get the string value and length
    1.15    // (string value may be offset from the base)
    1.16    int s_len = java_lang_String::length(str);
    1.17 -  typeArrayOop s_value = java_lang_String::value(str);
    1.18    int s_offset = java_lang_String::offset(str);
    1.19    jchar* value;
    1.20    if (s_len > 0) {

mercurial