Don't loop endlessly for MachO files with 0 ncmds
[oota-llvm.git] / lib / Object / MachOObjectFile.cpp
index 1373dbab410bfa128fd4a897eea69d13fda3d48e..e4769762be44ccb6f5359dbb829bda5088ed102b 100644 (file)
@@ -236,6 +236,9 @@ MachOObjectFile::MachOObjectFile(MemoryBufferRef Object, bool IsLittleEndian,
       DataInCodeLoadCmd(nullptr), DyldInfoLoadCmd(nullptr),
       UuidLoadCmd(nullptr), HasPageZeroSegment(false) {
   uint32_t LoadCommandCount = this->getHeader().ncmds;
+  if (LoadCommandCount == 0)
+    return;
+
   MachO::LoadCommandType SegmentLoadType = is64Bit() ?
     MachO::LC_SEGMENT_64 : MachO::LC_SEGMENT;