[issue15676] mmap: add empty file check prior to offset check

2012-08-15 Thread Steven Willis

New submission from Steven Willis:

There are a number of issues dealing with the offset and length checks in 
offset, such as issue12556.

I'm running into this issue as well, but with a normal file that happens to be 
empty. I'm trying to access it with:

mmap.mmap(f.fileno(), length=0, access=mmap.ACCESS_READ)

So the length and offset should be calculated automatically. The man page for 
mmap says:

"SUSv3 specifies that mmap() should fail if length is 0.  However, in kernels 
before 2.6.12, mmap() succeeded in this case: no mapping was created and the 
call returned  addr.   Since  kernel  2.6.12, mmap() fails with the error 
EINVAL for this case."

So alright, mmapping an empty file is now allowed. But, could the check for an 
empty file be done prior to the check for the offset exceeding the size of the 
file? It would be much clearer in the cases where an empty (regular or 
otherwise) file was mmapped if the error message were something like "empty 
files cannot be mapped" insted of "offset is greater than file size" since I 
didn't even set the offset.

--
components: Library (Lib)
messages: 168314
nosy: Steven.Willis
priority: normal
severity: normal
status: open
title: mmap: add empty file check prior to offset check
type: behavior
versions: Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4

___
Python tracker 
<http://bugs.python.org/issue15676>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15676] mmap: add empty file check prior to offset check

2012-09-06 Thread Steven Willis

Steven Willis added the comment:

Here's a patch for 2.7. I don't know if it cleanly applies to the rest.

--
keywords: +patch
Added file: http://bugs.python.org/file27140/issue15676.patch

___
Python tracker 
<http://bugs.python.org/issue15676>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15676] mmap: add empty file check prior to offset check

2012-09-09 Thread Steven Willis

Steven Willis added the comment:

Here's a patch for 3.1

--
Added file: http://bugs.python.org/file27153/issue15676-3.1.patch

___
Python tracker 
<http://bugs.python.org/issue15676>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15676] mmap: add empty file check prior to offset check

2012-09-09 Thread Steven Willis

Steven Willis added the comment:

Here's a patch for 3.2

--
Added file: http://bugs.python.org/file27154/issue15676-3.2.patch

___
Python tracker 
<http://bugs.python.org/issue15676>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15676] mmap: add empty file check prior to offset check

2012-09-09 Thread Steven Willis

Steven Willis added the comment:

Here's a branch against the default branch in mercurial. I couldn't find a 
branch for 3.3 or 3.4.

--
Added file: http://bugs.python.org/file27155/issue15676-default.patch

___
Python tracker 
<http://bugs.python.org/issue15676>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15676] mmap: add empty file check prior to offset check

2012-09-09 Thread Steven Willis

Changes by Steven Willis :


--
versions: +Python 3.1

___
Python tracker 
<http://bugs.python.org/issue15676>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15676] mmap: add empty file check prior to offset check

2012-09-09 Thread Steven Willis

Steven Willis added the comment:

Sorry, I thought that's what jcea was asking for. Here's an updated patch for 
the default branch in mercurial that uses assertRaisesRegex in the test.

--
Added file: http://bugs.python.org/file27156/issue15676-default.patch

___
Python tracker 
<http://bugs.python.org/issue15676>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com