Lines Matching refs:entry_offset
125 static bool VerifyResTableEntry(const ResTable_type* type, uint32_t entry_offset) { in VerifyResTableEntry() argument
127 if (entry_offset & 0x03) { in VerifyResTableEntry()
128 LOG(ERROR) << "Entry at offset " << entry_offset << " is not 4-byte aligned."; in VerifyResTableEntry()
133 if (entry_offset > std::numeric_limits<uint32_t>::max() - dtohl(type->entriesStart)) { in VerifyResTableEntry()
135 LOG(ERROR) << "Entry at offset " << entry_offset << " is too large."; in VerifyResTableEntry()
141 entry_offset += dtohl(type->entriesStart); in VerifyResTableEntry()
142 if (entry_offset > chunk_size - sizeof(ResTable_entry)) { in VerifyResTableEntry()
143 LOG(ERROR) << "Entry at offset " << entry_offset in VerifyResTableEntry()
149 reinterpret_cast<const uint8_t*>(type) + entry_offset); in VerifyResTableEntry()
153 LOG(ERROR) << "ResTable_entry size " << entry_size << " at offset " << entry_offset in VerifyResTableEntry()
158 if (entry_size > chunk_size || entry_offset > chunk_size - entry_size) { in VerifyResTableEntry()
159 LOG(ERROR) << "ResTable_entry size " << entry_size << " at offset " << entry_offset in VerifyResTableEntry()
166 if (entry_offset + entry_size > chunk_size - sizeof(Res_value)) { in VerifyResTableEntry()
167 LOG(ERROR) << "No room for Res_value after ResTable_entry at offset " << entry_offset in VerifyResTableEntry()
176 LOG(ERROR) << "Res_value at offset " << entry_offset << " is too small."; in VerifyResTableEntry()
180 if (value_size > chunk_size || entry_offset + entry_size > chunk_size - value_size) { in VerifyResTableEntry()
181 LOG(ERROR) << "Res_value size " << value_size << " at offset " << entry_offset in VerifyResTableEntry()
188 size_t map_entries_start = entry_offset + entry_size; in VerifyResTableEntry()
190 LOG(ERROR) << "Map entries at offset " << entry_offset << " start at unaligned offset."; in VerifyResTableEntry()
196 LOG(ERROR) << "Too many map entries in ResTable_map_entry at offset " << entry_offset << "."; in VerifyResTableEntry()
238 uint32_t entry_offset = GetEntryOffset(type_chunk, entry_index); in GetEntry() local
239 if (entry_offset == ResTable_type::NO_ENTRY) { in GetEntry()
242 return GetEntryFromOffset(type_chunk, entry_offset); in GetEntry()