diff options
| -rw-r--r-- | runtime/dex_file_verifier.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/dex_file_verifier.cc b/runtime/dex_file_verifier.cc index 3000217697..291e2d0756 100644 --- a/runtime/dex_file_verifier.cc +++ b/runtime/dex_file_verifier.cc @@ -1493,6 +1493,10 @@ bool DexFileVerifier::CheckInterProtoIdItem() { DexFileParameterIterator it(*dex_file_, *item); while (it.HasNext() && *shorty != '\0') { + if (!CheckIndex(it.GetTypeIdx(), dex_file_->NumTypeIds(), + "inter_proto_id_item shorty type_idx")) { + return false; + } const char* descriptor = it.GetDescriptor(); if (!CheckShortyDescriptorMatch(*shorty, descriptor, false)) { return false; |