# HG changeset patch # User emc # Date 1415666252 18000 # Node ID f4773c0d87171bf4b0b2656659155f1a16aadd7e # Parent 7201412afbd0a88df2d5073067a0935f9709001e 8058322: Zero name_index item of MethodParameters attribute cause MalformedParameterException Summary: Allow hotspot to report null for 0 parameter_name index in MethodParameters attribute Reviewed-by: coleenp, dholmes diff -r 7201412afbd0 -r f4773c0d8717 hotspot/src/share/vm/runtime/reflection.cpp --- a/hotspot/src/share/vm/runtime/reflection.cpp Mon Nov 10 16:45:46 2014 -0500 +++ b/hotspot/src/share/vm/runtime/reflection.cpp Mon Nov 10 19:37:32 2014 -0500 @@ -806,17 +806,16 @@ oop Reflection::new_parameter(Handle method, int index, Symbol* sym, int flags, TRAPS) { - Handle name; - // A null symbol here translates to the empty string + Handle rh = java_lang_reflect_Parameter::create(CHECK_NULL); + if(NULL != sym) { - name = java_lang_String::create_from_symbol(sym, CHECK_NULL); + Handle name = java_lang_String::create_from_symbol(sym, CHECK_NULL); + java_lang_reflect_Parameter::set_name(rh(), name()); } else { - name = java_lang_String::create_from_str("", CHECK_NULL); + java_lang_reflect_Parameter::set_name(rh(), NULL); } - Handle rh = java_lang_reflect_Parameter::create(CHECK_NULL); - java_lang_reflect_Parameter::set_name(rh(), name()); java_lang_reflect_Parameter::set_modifiers(rh(), flags); java_lang_reflect_Parameter::set_executable(rh(), method()); java_lang_reflect_Parameter::set_index(rh(), index);