Skip to content

Commit b6616d6

Browse files
liachjerboaa
authored andcommitted
8058322: Zero name_index item of MethodParameters attribute cause MalformedParameterException.
Allow hotspot to report null for 0 parameter_name index in MethodParameters attribute Backport-of: cba5bd26387dc2ecb31ac8d6bea21bcc01da0cd5
1 parent 432d962 commit b6616d6

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

hotspot/src/share/vm/runtime/reflection.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -867,17 +867,16 @@ oop Reflection::new_field(fieldDescriptor* fd, bool intern_name, TRAPS) {
867867

868868
oop Reflection::new_parameter(Handle method, int index, Symbol* sym,
869869
int flags, TRAPS) {
870-
Handle name;
871870

872-
// A null symbol here translates to the empty string
871+
Handle rh = java_lang_reflect_Parameter::create(CHECK_NULL);
872+
873873
if(NULL != sym) {
874-
name = java_lang_String::create_from_symbol(sym, CHECK_NULL);
874+
Handle name = java_lang_String::create_from_symbol(sym, CHECK_NULL);
875+
java_lang_reflect_Parameter::set_name(rh(), name());
875876
} else {
876-
name = java_lang_String::create_from_str("", CHECK_NULL);
877+
java_lang_reflect_Parameter::set_name(rh(), NULL);
877878
}
878879

879-
Handle rh = java_lang_reflect_Parameter::create(CHECK_NULL);
880-
java_lang_reflect_Parameter::set_name(rh(), name());
881880
java_lang_reflect_Parameter::set_modifiers(rh(), flags);
882881
java_lang_reflect_Parameter::set_executable(rh(), method());
883882
java_lang_reflect_Parameter::set_index(rh(), index);

0 commit comments

Comments
 (0)