Lines Matching refs:entry_offset
128 static bool VerifyResTableEntry(const ResTable_type* type, uint32_t entry_offset) { in VerifyResTableEntry() argument
130 if (entry_offset & 0x03) { in VerifyResTableEntry()
131 LOG(ERROR) << "Entry at offset " << entry_offset << " is not 4-byte aligned."; in VerifyResTableEntry()
136 if (entry_offset > std::numeric_limits<uint32_t>::max() - dtohl(type->entriesStart)) { in VerifyResTableEntry()
138 LOG(ERROR) << "Entry at offset " << entry_offset << " is too large."; in VerifyResTableEntry()
144 entry_offset += dtohl(type->entriesStart); in VerifyResTableEntry()
145 if (entry_offset > chunk_size - sizeof(ResTable_entry)) { in VerifyResTableEntry()
146 LOG(ERROR) << "Entry at offset " << entry_offset in VerifyResTableEntry()
152 reinterpret_cast<const uint8_t*>(type) + entry_offset); in VerifyResTableEntry()
156 LOG(ERROR) << "ResTable_entry size " << entry_size << " at offset " << entry_offset in VerifyResTableEntry()
161 if (entry_size > chunk_size || entry_offset > chunk_size - entry_size) { in VerifyResTableEntry()
162 LOG(ERROR) << "ResTable_entry size " << entry_size << " at offset " << entry_offset in VerifyResTableEntry()
169 if (entry_offset + entry_size > chunk_size - sizeof(Res_value)) { in VerifyResTableEntry()
170 LOG(ERROR) << "No room for Res_value after ResTable_entry at offset " << entry_offset in VerifyResTableEntry()
179 LOG(ERROR) << "Res_value at offset " << entry_offset << " is too small."; in VerifyResTableEntry()
183 if (value_size > chunk_size || entry_offset + entry_size > chunk_size - value_size) { in VerifyResTableEntry()
184 LOG(ERROR) << "Res_value size " << value_size << " at offset " << entry_offset in VerifyResTableEntry()
191 size_t map_entries_start = entry_offset + entry_size; in VerifyResTableEntry()
193 LOG(ERROR) << "Map entries at offset " << entry_offset << " start at unaligned offset."; in VerifyResTableEntry()
199 LOG(ERROR) << "Too many map entries in ResTable_map_entry at offset " << entry_offset << "."; in VerifyResTableEntry()
241 uint32_t entry_offset = GetEntryOffset(type_chunk, entry_index); in GetEntry() local
242 if (entry_offset == ResTable_type::NO_ENTRY) { in GetEntry()
245 return GetEntryFromOffset(type_chunk, entry_offset); in GetEntry()