Lines Matching refs:pHeader

46     const DexHeader*  pHeader;
229 return (state->pHeader->typeIdsSize + 0x1f) >> 5;
249 static bool swapDexHeader(const CheckState* state, DexHeader* pHeader)
251 CHECK_PTR_RANGE(pHeader, pHeader + 1);
254 SWAP_FIELD4(pHeader->checksum);
256 SWAP_FIELD4(pHeader->fileSize);
257 SWAP_FIELD4(pHeader->headerSize);
258 SWAP_FIELD4(pHeader->endianTag);
259 SWAP_FIELD4(pHeader->linkSize);
260 SWAP_OFFSET4(pHeader->linkOff);
261 SWAP_OFFSET4(pHeader->mapOff);
262 SWAP_FIELD4(pHeader->stringIdsSize);
263 SWAP_OFFSET4(pHeader->stringIdsOff);
264 SWAP_FIELD4(pHeader->typeIdsSize);
265 SWAP_OFFSET4(pHeader->typeIdsOff);
266 SWAP_FIELD4(pHeader->fieldIdsSize);
267 SWAP_OFFSET4(pHeader->fieldIdsOff);
268 SWAP_FIELD4(pHeader->methodIdsSize);
269 SWAP_OFFSET4(pHeader->methodIdsOff);
270 SWAP_FIELD4(pHeader->protoIdsSize);
271 SWAP_OFFSET4(pHeader->protoIdsOff);
272 SWAP_FIELD4(pHeader->classDefsSize);
273 SWAP_OFFSET4(pHeader->classDefsOff);
274 SWAP_FIELD4(pHeader->dataSize);
275 SWAP_OFFSET4(pHeader->dataOff);
277 if (pHeader->endianTag != kDexEndianConstant) {
278 ALOGE("Unexpected endian_tag: %#x", pHeader->endianTag);
283 u4 linkOff = pHeader->linkOff;
284 u4 linkEnd = linkOff + pHeader->linkSize;
285 u4 dataOff = pHeader->dataOff;
286 u4 dataEnd = dataOff + pHeader->dataSize;
311 const DexHeader* pHeader = (const DexHeader*) filePointer(state, 0);
312 *endOffset = pHeader->headerSize;
378 u4 dataItemsLeft = state->pHeader->dataSize; // See use below.
402 if (item->offset >= state->pHeader->fileSize) {
404 item->offset, state->pHeader->fileSize);
459 && ((state->pHeader->stringIdsOff != 0)
460 || (state->pHeader->stringIdsSize != 0))) {
466 && ((state->pHeader->typeIdsOff != 0)
467 || (state->pHeader->typeIdsSize != 0))) {
473 && ((state->pHeader->protoIdsOff != 0)
474 || (state->pHeader->protoIdsSize != 0))) {
480 && ((state->pHeader->fieldIdsOff != 0)
481 || (state->pHeader->fieldIdsSize != 0))) {
487 && ((state->pHeader->methodIdsOff != 0)
488 || (state->pHeader->methodIdsSize != 0))) {
494 && ((state->pHeader->classDefsOff != 0)
495 || (state->pHeader->classDefsSize != 0))) {
517 if (sectionOffset != state->pHeader->mapOff) {
519 sectionOffset, state->pHeader->mapOff);
568 SWAP_INDEX4(item->descriptorIdx, state->pHeader->stringIdsSize);
602 SWAP_INDEX4(item->shortyIdx, state->pHeader->stringIdsSize);
603 SWAP_INDEX4(item->returnTypeIdx, state->pHeader->typeIdsSize);
752 SWAP_INDEX2(item->classIdx, state->pHeader->typeIdsSize);
753 SWAP_INDEX2(item->typeIdx, state->pHeader->typeIdsSize);
754 SWAP_INDEX4(item->nameIdx, state->pHeader->stringIdsSize);
824 SWAP_INDEX2(item->classIdx, state->pHeader->typeIdsSize);
825 SWAP_INDEX2(item->protoIdx, state->pHeader->protoIdsSize);
826 SWAP_INDEX4(item->nameIdx, state->pHeader->stringIdsSize);
890 SWAP_INDEX4(item->classIdx, state->pHeader->typeIdsSize);
892 SWAP_INDEX4_OR_NOINDEX(item->superclassIdx, state->pHeader->typeIdsSize);
894 SWAP_INDEX4_OR_NOINDEX(item->sourceFileIdx, state->pHeader->stringIdsSize);
1056 if (item->callSiteOff < state->pHeader->dataOff ||
1057 item->callSiteOff >= state->pHeader->dataOff + state->pHeader->dataSize) {
1080 if (item->fieldOrMethodIdx >= state->pHeader->fieldIdsSize) {
1090 if (item->fieldOrMethodIdx >= state->pHeader->methodIdsSize) {
1111 SWAP_INDEX4(item->fieldIdx, state->pHeader->fieldIdsSize);
1141 SWAP_INDEX4(item->methodIdx, state->pHeader->methodIdsSize);
1172 SWAP_INDEX4(item->methodIdx, state->pHeader->methodIdsSize);
1396 SWAP_INDEX2(pType->typeIdx, state->pHeader->typeIdsSize);
1516 CHECK_INDEX(field->fieldIdx, state->pHeader->fieldIdsSize);
1541 CHECK_INDEX(method->methodIdx, state->pHeader->methodIdsSize);
1764 CHECK_INDEX(typeIdx, state->pHeader->typeIdsSize);
2076 CHECK_INDEX(parameterName, state->pHeader->stringIdsSize);
2109 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2115 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2141 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2147 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2153 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2162 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2282 CHECK_INDEX(idx, state->pHeader->protoIdsSize);
2300 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2309 CHECK_INDEX(idx, state->pHeader->typeIdsSize);
2319 CHECK_INDEX(idx, state->pHeader->fieldIdsSize);
2328 CHECK_INDEX(idx, state->pHeader->methodIdsSize);
2385 CHECK_INDEX(idx, state->pHeader->typeIdsSize);
2412 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2571 u4 dataStart = state->pHeader->dataOff;
2572 u4 dataEnd = dataStart + state->pHeader->dataSize;
2650 sectionCount, state->pHeader->stringIdsOff,
2651 state->pHeader->stringIdsSize, swapStringIdItem,
2657 sectionCount, state->pHeader->typeIdsOff,
2658 state->pHeader->typeIdsSize, swapTypeIdItem,
2664 sectionCount, state->pHeader->protoIdsOff,
2665 state->pHeader->protoIdsSize, swapProtoIdItem,
2671 sectionCount, state->pHeader->fieldIdsOff,
2672 state->pHeader->fieldIdsSize, swapFieldIdItem,
2678 sectionCount, state->pHeader->methodIdsOff,
2679 state->pHeader->methodIdsSize, swapMethodIdItem,
2685 sectionCount, state->pHeader->classDefsOff,
2686 state->pHeader->classDefsSize, swapClassDefItem,
2897 bool dexHasValidMagic(const DexHeader* pHeader)
2899 const u1* magic = pHeader->magic;
2933 DexHeader* pHeader;
2944 pHeader = (DexHeader*) addr;
2946 if (!dexHasValidMagic(pHeader)) {
2951 u4 expectedLen = SWAP4(pHeader->fileSize);
2969 const int nonSum = sizeof(pHeader->magic) + sizeof(pHeader->checksum);
2970 u4 storedFileSize = SWAP4(pHeader->fileSize);
2971 u4 expectedChecksum = SWAP4(pHeader->checksum);
2973 adler = adler32(adler, ((const u1*) pHeader) + nonSum,
2995 okay = swapDexHeader(&state, pHeader);
2999 state.pHeader = pHeader;
3001 if (pHeader->headerSize < sizeof(DexHeader)) {
3003 pHeader->headerSize, (int) sizeof(DexHeader));
3005 } else if (pHeader->headerSize > sizeof(DexHeader)) {
3007 pHeader->headerSize, (int) sizeof(DexHeader));
3017 if (pHeader->mapOff != 0) {
3019 DexMapList* pDexMap = (DexMapList*) (addr + pHeader->mapOff);