summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2012-06-29 16:45:06 -0700
committerRicardo Cerqueira <cyanogenmod@cerqueira.org>2012-07-09 00:20:54 +0100
commit1aecdabd7f219b9547f410b139e27f6eeb0f44f8 (patch)
tree731b9cd44ddc56b5fe4421ee712eff0189a2ee2e
parentc3e9fbdd0e870b9914f7a332b398b7f3f9fcb6ac (diff)
downloadandroid_dalvik-cm-9.1.0.tar.gz
android_dalvik-cm-9.1.0.tar.bz2
android_dalvik-cm-9.1.0.zip
Fix a possible off-by-one in the verifier.ics-releasecm-9.1.0
Bug: http://code.google.com/p/android/issues/detail?id=10863 Change-Id: I604f9a5ea08b6a6934b3ba522e1fda0bb738f81c
-rw-r--r--vm/analysis/CodeVerify.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/vm/analysis/CodeVerify.cpp b/vm/analysis/CodeVerify.cpp
index 8cb1099aa..c7336fe6b 100644
--- a/vm/analysis/CodeVerify.cpp
+++ b/vm/analysis/CodeVerify.cpp
@@ -3797,7 +3797,7 @@ static bool doCodeVerification(VerifierData* vdata, RegisterTable* regTable)
if (instr == kPackedSwitchSignature ||
instr == kSparseSwitchSignature ||
instr == kArrayDataSignature ||
- (instr == OP_NOP &&
+ (instr == OP_NOP && (insnIdx + 1 < insnsSize) &&
(meth->insns[insnIdx+1] == kPackedSwitchSignature ||
meth->insns[insnIdx+1] == kSparseSwitchSignature ||
meth->insns[insnIdx+1] == kArrayDataSignature)))