Merge remote-tracking branch 'lenormf/fix-mmap-size-check'

This commit is contained in:
Maxime Coste 2019-11-28 20:35:52 +11:00
commit b765fb4971

View File

@ -217,13 +217,12 @@ MappedFile::MappedFile(StringView filename)
if (st.st_size == 0) if (st.st_size == 0)
return; return;
else if (st.st_size > std::numeric_limits<int>::max())
throw runtime_error("file is too big");
data = (const char*)mmap(nullptr, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0); data = (const char*)mmap(nullptr, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
if (data == MAP_FAILED) if (data == MAP_FAILED)
throw file_access_error{filename, strerror(errno)}; throw file_access_error{filename, strerror(errno)};
if (st.st_size > std::numeric_limits<int>::max())
throw runtime_error("file is too big");
} }
MappedFile::~MappedFile() MappedFile::~MappedFile()