diff options
author | Elliott Hughes <enh@google.com> | 2012-06-29 16:45:06 -0700 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2012-07-10 20:08:05 +0100 |
commit | b492fe6bf6ae464e1364cc38f50bfedbb297bde5 (patch) | |
tree | d76d4546b58066d6318bf5303bb44e44a8b3fda4 | |
parent | 89279dbcf9636a9728254124f069de6587923385 (diff) | |
download | android_dalvik-b492fe6bf6ae464e1364cc38f50bfedbb297bde5.tar.gz android_dalvik-b492fe6bf6ae464e1364cc38f50bfedbb297bde5.tar.bz2 android_dalvik-b492fe6bf6ae464e1364cc38f50bfedbb297bde5.zip |
Fix a possible off-by-one in the verifier.
Bug: http://code.google.com/p/android/issues/detail?id=10863
Change-Id: I604f9a5ea08b6a6934b3ba522e1fda0bb738f81c
-rw-r--r-- | vm/analysis/CodeVerify.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/vm/analysis/CodeVerify.cpp b/vm/analysis/CodeVerify.cpp index 768e3e40d..a230590db 100644 --- a/vm/analysis/CodeVerify.cpp +++ b/vm/analysis/CodeVerify.cpp @@ -3737,7 +3737,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))) |