| 1522 | } |
| 1523 | |
| 1524 | bool DexFileVerifier::CheckIntraAnnotationItem() { |
| 1525 | if (!CheckListSize(ptr_, 1, sizeof(uint8_t), "annotation visibility")) { |
| 1526 | return false; |
| 1527 | } |
| 1528 | |
| 1529 | // Check visibility |
| 1530 | switch (*(ptr_++)) { |
| 1531 | case DexFile::kDexVisibilityBuild: |
| 1532 | case DexFile::kDexVisibilityRuntime: |
| 1533 | case DexFile::kDexVisibilitySystem: |
| 1534 | break; |
| 1535 | default: |
| 1536 | ErrorStringPrintf("Bad annotation visibility: %x", *ptr_); |
| 1537 | return false; |
| 1538 | } |
| 1539 | |
| 1540 | if (!CheckEncodedAnnotation()) { |
| 1541 | return false; |
| 1542 | } |
| 1543 | |
| 1544 | return true; |
| 1545 | } |
| 1546 | |
| 1547 | bool DexFileVerifier::CheckIntraAnnotationsDirectoryItem() { |
| 1548 | const DexFile::AnnotationsDirectoryItem* item = |
nothing calls this directly
no outgoing calls
no test coverage detected