Loading...
--- dyld/dyld-551.4/dyld3/SharedCacheRuntime.cpp
+++ dyld/dyld-519.2.2/dyld3/SharedCacheRuntime.cpp
@@ -266,13 +266,10 @@
::close(fd);
return false;
}
- if ( (cache->header.mappingCount != 3) || (cache->header.mappingOffset > 0x120) ) {
- results->errorMessage = "shared cache file mappings are invalid";
- ::close(fd);
- return false;
- }
const dyld_cache_mapping_info* const fileMappings = (dyld_cache_mapping_info*)&firstPage[cache->header.mappingOffset];
- if ( (fileMappings[0].fileOffset != 0)
+ if ( (cache->header.mappingCount != 3)
+ || (cache->header.mappingOffset > 0x120)
+ || (fileMappings[0].fileOffset != 0)
|| ((fileMappings[0].address + fileMappings[0].size) > fileMappings[1].address)
|| ((fileMappings[1].address + fileMappings[1].size) > fileMappings[2].address)
|| ((fileMappings[0].fileOffset + fileMappings[0].size) != fileMappings[1].fileOffset)