Loading...
--- dyld/dyld-640.2/dyld3/ClosureBuilder.cpp
+++ dyld/dyld-655.1/dyld3/ClosureBuilder.cpp
@@ -1724,6 +1724,9 @@
for (uint32_t i=0; i <= _mainProgLoadIndex; ++i)
computeInitOrder(writers[i], i);
+ if ( _diag.hasError() )
+ return nullptr;
+
// combine all Image objects into one ImageArray
ImageArrayWriter imageArrayWriter(_startImageNum, (uint32_t)writers.count());
for (ImageWriter& writer : writers) {
@@ -1969,6 +1972,9 @@
}
}
+ if ( _diag.hasError() )
+ return nullptr;
+
// check if top image loaded is in shared cache along with everything it depends on
*topImageNum = foundTopImage->imageNum;
if ( writers.count() == 0 ) {
@@ -1981,6 +1987,9 @@
// add initializer order into top level Image
computeInitOrder(writers[0], (uint32_t)alreadyLoadedList.count());
+
+ if ( _diag.hasError() )
+ return nullptr;
// combine all Image objects into one ImageArray
ImageArrayWriter imageArrayWriter(_startImageNum, (uint32_t)writers.count());