Fix the infinite recursion crash reported by Antoine Missout:
rdar://problem/8557095 lldb disas crashed (from lldb developer)
llvm-svn: 118299
diff --git a/lldb/source/Symbol/ObjectFile.cpp b/lldb/source/Symbol/ObjectFile.cpp
index 8c0ffce..1dbea48 100644
--- a/lldb/source/Symbol/ObjectFile.cpp
+++ b/lldb/source/Symbol/ObjectFile.cpp
@@ -59,6 +59,11 @@
}
}
+ // No need to delegate further if (file_offset, file_size) exceeds the total file size.
+ // This is the base case.
+ if (file_offset + file_size > file->GetByteSize())
+ return NULL;
+
DataBufferSP file_header_data_sp(file->ReadFileContents(file_offset, 512));
uint32_t idx;