diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2017-03-17 14:33:33 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2017-03-31 06:31:25 +0000 |
commit | 9a0d47bcf1f7988984c38f123828b93fdfc20a49 (patch) | |
tree | 4971f37aae0f70446c7430b53ce7fa51cefe204e /src/corelib | |
parent | 9b5b44207ef9a191b0f45857232afdee8c938a04 (diff) |
tst_largefile: fix the mapOffsetOverflow case to match actual behavior
Unix mmap(2) system calls do allow for mapping beyond the end of the
file, though what happens after you try to dereference the pointers it
gives is unspecified. POSIX[1] says that implementations shouldn't allow
it:
The system shall always zero-fill any partial page at the end of an
object. Further, the system shall never write out any modified portions
of the last page of an object which are beyond its end. References
within the address range starting at pa and continuing for len bytes to
whole pages following the end of an object shall result in delivery of
a SIGBUS signal.
However, Linux allows this in read-write mode and extends the file
(depending on the filesystem).
Windows MapViewOfFile never allows mapping beyond the end.
[1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/mmap.html
Change-Id: Ie67d35dff21147e99ad9fffd14acc8d9a1a0c38d
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib')
0 files changed, 0 insertions, 0 deletions