OSDN Git Service

Add descriptor validation to ClassLinker::FindClass().
authorVladimir Marko <vmarko@google.com>
Thu, 20 Apr 2017 10:26:03 +0000 (11:26 +0100)
committerVladimir Marko <vmarko@google.com>
Thu, 20 Apr 2017 12:54:12 +0000 (13:54 +0100)
commit5fdd778d07e0c87203b3c9d776fda3544c51a3a4
treefbe0d48d423b9e2b95c3275cf76536dce88003ba
parent25009fdd7a5dccc957afc8178ca5d3733f899147
Add descriptor validation to ClassLinker::FindClass().

And add tests for odd signatures passed to JNI GetFieldID().
Previously, passing the signature "java/lang/String" instead
of "Ljava/lang/String;" would call the class loader with the
dot name java.lang.String and the class loader would find
that class only to fail the DescriptorEquals() check back
in ClassLinker::FindClass().

Test: 647-jni-get-field-id
Bug: 33577836
Bug: 37156832
Change-Id: I6612a272ec24b0d54b728fd35003e9c24a7e2e95
runtime/class_linker.cc
test/647-jni-get-field-id/expected.txt [new file with mode: 0644]
test/647-jni-get-field-id/get_field_id.cc [new file with mode: 0644]
test/647-jni-get-field-id/info.txt [new file with mode: 0644]
test/647-jni-get-field-id/src/DefiningLoader.java [new file with mode: 0644]
test/647-jni-get-field-id/src/Main.java [new file with mode: 0644]
test/Android.bp