Loading...
framework/CacheScavenger.cpp dyld-1285.19 dyld-1335
--- dyld/dyld-1285.19/framework/CacheScavenger.cpp
+++ dyld/dyld-1335/framework/CacheScavenger.cpp
@@ -97,6 +97,11 @@
     }
     dyld_cache_header* cacheHeader = (dyld_cache_header*)mapping;
 
+    // Validate that this is a cache file
+    if ( strncmp(cacheHeader->magic, "dyld_v1", 7) != 0 ) {
+        munmap(mapping, stat_buf.st_size);
+        return { nullptr, 0 };
+    }
     return { mapping, static_cast<size_t>(stat_buf.st_size), 0, cacheHeader->sharedRegionStart };
 }