diff options
Diffstat (limited to 'libdex/DexSwapVerify.cpp')
-rw-r--r-- | libdex/DexSwapVerify.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libdex/DexSwapVerify.cpp b/libdex/DexSwapVerify.cpp index 4b3cf4493..6cc139dcf 100644 --- a/libdex/DexSwapVerify.cpp +++ b/libdex/DexSwapVerify.cpp @@ -911,6 +911,11 @@ static void* swapClassDefItem(const CheckState* state, void* ptr) { SWAP_OFFSET4(item->annotationsOff); SWAP_OFFSET4(item->classDataOff); + if ((item->accessFlags & ~ACC_CLASS_MASK) != 0) { + ALOGE("Bogus class access flags %x", item->accessFlags); + return NULL; + } + return item + 1; } |