Home | History | Annotate | Download | only in libdex

Lines Matching refs:pHeader

46     const DexHeader*  pHeader;
227 return (state->pHeader->typeIdsSize + 0x1f) >> 5;
247 static bool swapDexHeader(const CheckState* state, DexHeader* pHeader)
249 CHECK_PTR_RANGE(pHeader, pHeader + 1);
252 SWAP_FIELD4(pHeader->checksum);
254 SWAP_FIELD4(pHeader->fileSize);
255 SWAP_FIELD4(pHeader->headerSize);
256 SWAP_FIELD4(pHeader->endianTag);
257 SWAP_FIELD4(pHeader->linkSize);
258 SWAP_OFFSET4(pHeader->linkOff);
259 SWAP_OFFSET4(pHeader->mapOff);
260 SWAP_FIELD4(pHeader->stringIdsSize);
261 SWAP_OFFSET4(pHeader->stringIdsOff);
262 SWAP_FIELD4(pHeader->typeIdsSize);
263 SWAP_OFFSET4(pHeader->typeIdsOff);
264 SWAP_FIELD4(pHeader->fieldIdsSize);
265 SWAP_OFFSET4(pHeader->fieldIdsOff);
266 SWAP_FIELD4(pHeader->methodIdsSize);
267 SWAP_OFFSET4(pHeader->methodIdsOff);
268 SWAP_FIELD4(pHeader->protoIdsSize);
269 SWAP_OFFSET4(pHeader->protoIdsOff);
270 SWAP_FIELD4(pHeader->classDefsSize);
271 SWAP_OFFSET4(pHeader->classDefsOff);
272 SWAP_FIELD4(pHeader->dataSize);
273 SWAP_OFFSET4(pHeader->dataOff);
275 if (pHeader->endianTag != kDexEndianConstant) {
276 ALOGE("Unexpected endian_tag: %#x", pHeader->endianTag);
281 u4 linkOff = pHeader->linkOff;
282 u4 linkEnd = linkOff + pHeader->linkSize;
283 u4 dataOff = pHeader->dataOff;
284 u4 dataEnd = dataOff + pHeader->dataSize;
309 const DexHeader* pHeader = (const DexHeader*) filePointer(state, 0);
310 *endOffset = pHeader->headerSize;
374 u4 dataItemsLeft = state->pHeader->dataSize; // See use below.
398 if (item->offset >= state->pHeader->fileSize) {
400 item->offset, state->pHeader->fileSize);
449 && ((state->pHeader->stringIdsOff != 0)
450 || (state->pHeader->stringIdsSize != 0))) {
456 && ((state->pHeader->typeIdsOff != 0)
457 || (state->pHeader->typeIdsSize != 0))) {
463 && ((state->pHeader->protoIdsOff != 0)
464 || (state->pHeader->protoIdsSize != 0))) {
470 && ((state->pHeader->fieldIdsOff != 0)
471 || (state->pHeader->fieldIdsSize != 0))) {
477 && ((state->pHeader->methodIdsOff != 0)
478 || (state->pHeader->methodIdsSize != 0))) {
484 && ((state->pHeader->classDefsOff != 0)
485 || (state->pHeader->classDefsSize != 0))) {
507 if (sectionOffset != state->pHeader->mapOff) {
509 sectionOffset, state->pHeader->mapOff);
558 SWAP_INDEX4(item->descriptorIdx, state->pHeader->stringIdsSize);
592 SWAP_INDEX4(item->shortyIdx, state->pHeader->stringIdsSize);
593 SWAP_INDEX4(item->returnTypeIdx, state->pHeader->typeIdsSize);
742 SWAP_INDEX2(item->classIdx, state->pHeader->typeIdsSize);
743 SWAP_INDEX2(item->typeIdx, state->pHeader->typeIdsSize);
744 SWAP_INDEX4(item->nameIdx, state->pHeader->stringIdsSize);
814 SWAP_INDEX2(item->classIdx, state->pHeader->typeIdsSize);
815 SWAP_INDEX2(item->protoIdx, state->pHeader->protoIdsSize);
816 SWAP_INDEX4(item->nameIdx, state->pHeader->stringIdsSize);
880 SWAP_INDEX4(item->classIdx, state->pHeader->typeIdsSize);
882 SWAP_INDEX4_OR_NOINDEX(item->superclassIdx, state->pHeader->typeIdsSize);
884 SWAP_INDEX4_OR_NOINDEX(item->sourceFileIdx, state->pHeader->stringIdsSize);
1050 SWAP_INDEX4(item->fieldIdx, state->pHeader->fieldIdsSize);
1079 SWAP_INDEX4(item->methodIdx, state->pHeader->methodIdsSize);
1109 SWAP_INDEX4(item->methodIdx, state->pHeader->methodIdsSize);
1311 SWAP_INDEX2(pType->typeIdx, state->pHeader->typeIdsSize);
1427 CHECK_INDEX(field->fieldIdx, state->pHeader->fieldIdsSize);
1452 CHECK_INDEX(method->methodIdx, state->pHeader->methodIdsSize);
1675 CHECK_INDEX(typeIdx, state->pHeader->typeIdsSize);
1984 CHECK_INDEX(parameterName, state->pHeader->stringIdsSize);
2017 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2023 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2049 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2055 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2061 CHECK_INDEX(idx, state->pHeader
2070 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2183 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2192 CHECK_INDEX(idx, state->pHeader->typeIdsSize);
2202 CHECK_INDEX(idx, state->pHeader->fieldIdsSize);
2211 CHECK_INDEX(idx, state->pHeader->methodIdsSize);
2268 CHECK_INDEX(idx, state->pHeader->typeIdsSize);
2295 CHECK_INDEX(idx, state->pHeader->stringIdsSize);
2467 u4 dataStart = state->pHeader->dataOff;
2468 u4 dataEnd = dataStart + state->pHeader->dataSize;
2546 sectionCount, state->pHeader->stringIdsOff,
2547 state->pHeader->stringIdsSize, swapStringIdItem,
2553 sectionCount, state->pHeader->typeIdsOff,
2554 state->pHeader->typeIdsSize, swapTypeIdItem,
2560 sectionCount, state->pHeader->protoIdsOff,
2561 state->pHeader->protoIdsSize, swapProtoIdItem,
2567 sectionCount, state->pHeader->fieldIdsOff,
2568 state->pHeader->fieldIdsSize, swapFieldIdItem,
2574 sectionCount, state->pHeader->methodIdsOff,
2575 state->pHeader->methodIdsSize, swapMethodIdItem,
2581 sectionCount, state->pHeader->classDefsOff,
2582 state->pHeader->classDefsSize, swapClassDefItem,
2771 bool dexHasValidMagic(const DexHeader* pHeader)
2773 const u1* magic = pHeader->magic;
2805 DexHeader* pHeader;
2816 pHeader = (DexHeader*) addr;
2818 if (!dexHasValidMagic(pHeader)) {
2823 int expectedLen = (int) SWAP4(pHeader->fileSize);
2845 const int nonSum = sizeof(pHeader->magic) + sizeof(pHeader->checksum);
2846 u4 storedFileSize = SWAP4(pHeader->fileSize);
2847 u4 expectedChecksum = SWAP4(pHeader->checksum);
2849 adler = adler32(adler, ((const u1*) pHeader) + nonSum,
2871 okay = swapDexHeader(&state, pHeader);
2875 state.pHeader = pHeader;
2877 if (pHeader->headerSize < sizeof(DexHeader)) {
2879 pHeader->headerSize, (int) sizeof(DexHeader));
2881 } else if (pHeader->headerSize > sizeof(DexHeader)) {
2883 pHeader->headerSize, (int) sizeof(DexHeader));
2893 if (pHeader->mapOff != 0) {
2895 DexMapList* pDexMap = (DexMapList*) (addr + pHeader->mapOff);