diff options
-rw-r--r-- | runtime/verifier/method_verifier.cc | 6 | ||||
-rw-r--r-- | tools/fuzzer/class-verifier-corpus/b391852978.dex | bin | 0 -> 2736 bytes |
2 files changed, 5 insertions, 1 deletions
diff --git a/runtime/verifier/method_verifier.cc b/runtime/verifier/method_verifier.cc index bf5ec7b745..06b95428cc 100644 --- a/runtime/verifier/method_verifier.cc +++ b/runtime/verifier/method_verifier.cc @@ -4501,7 +4501,11 @@ bool MethodVerifierImpl::CheckCallSite(uint32_t call_site_idx) { << index[i] << " >= " << type_and_max[i].second; return false; } - it.Next(); + + // Don't increase if we are going to read past the item. + if (i != kRequiredArguments - 1) { + it.Next(); + } } // Check method handle kind is valid. diff --git a/tools/fuzzer/class-verifier-corpus/b391852978.dex b/tools/fuzzer/class-verifier-corpus/b391852978.dex Binary files differnew file mode 100644 index 0000000000..5f21123335 --- /dev/null +++ b/tools/fuzzer/class-verifier-corpus/b391852978.dex |