Merge "Fix DynamicRefTable::load security bug" into oc-mr1-dev am: 2b6805fedc am: 5ae85666ac
am: 6899839e07
Change-Id: I3920ae30c0fdd5ef5b1176476d769abb269d5844
This commit is contained in:
@@ -6824,8 +6824,16 @@ status_t ResTable::parsePackage(const ResTable_package* const pkg,
|
||||
}
|
||||
|
||||
} else if (ctype == RES_TABLE_LIBRARY_TYPE) {
|
||||
|
||||
if (group->dynamicRefTable.entries().size() == 0) {
|
||||
status_t err = group->dynamicRefTable.load((const ResTable_lib_header*) chunk);
|
||||
const ResTable_lib_header* lib = (const ResTable_lib_header*) chunk;
|
||||
status_t err = validate_chunk(&lib->header, sizeof(*lib),
|
||||
endPos, "ResTable_lib_header");
|
||||
if (err != NO_ERROR) {
|
||||
return (mError=err);
|
||||
}
|
||||
|
||||
err = group->dynamicRefTable.load(lib);
|
||||
if (err != NO_ERROR) {
|
||||
return (mError=err);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user