diff options
Diffstat (limited to 'lldb/source/Host/common/FileSpec.cpp')
-rw-r--r-- | lldb/source/Host/common/FileSpec.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lldb/source/Host/common/FileSpec.cpp b/lldb/source/Host/common/FileSpec.cpp index beeb63da6b0..5edec81a7d9 100644 --- a/lldb/source/Host/common/FileSpec.cpp +++ b/lldb/source/Host/common/FileSpec.cpp @@ -747,7 +747,8 @@ FileSpec::MemoryMapFileContents(off_t file_offset, size_t file_size) const std::unique_ptr<DataBufferMemoryMap> mmap_data(new DataBufferMemoryMap()); if (mmap_data.get()) { - if (mmap_data->MemoryMapFromFileSpec (this, file_offset, file_size) >= file_size) + const size_t mapped_length = mmap_data->MemoryMapFromFileSpec (this, file_offset, file_size); + if (((file_size == SIZE_MAX) && (mapped_length > 0)) || (mapped_length >= file_size)) data_sp.reset(mmap_data.release()); } return data_sp; |