summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2011-03-06 00:53:19 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2011-03-06 00:53:19 (GMT)
commitf874debbf37636b0f2f46f8db06be50c20b670a8 (patch)
treedfcb544911644bf6c14b721d47408156c3cbf7c1 /Modules
parent53b13e9873a7503a29d295d9451b44d5d636ce27 (diff)
parent80d3610bc36e484fbe7b7ccce366a73314505a16 (diff)
downloadcpython-f874debbf37636b0f2f46f8db06be50c20b670a8.zip
cpython-f874debbf37636b0f2f46f8db06be50c20b670a8.tar.gz
cpython-f874debbf37636b0f2f46f8db06be50c20b670a8.tar.bz2
Merge fix for issue #11391
Diffstat (limited to 'Modules')
-rw-r--r--Modules/mmapmodule.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index 02e0989..fdf3922 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -1106,17 +1106,22 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
prot = PROT_READ | PROT_WRITE;
break;
case ACCESS_DEFAULT:
- /* use the specified or default values of flags and prot */
+ /* map prot to access type */
+ if ((prot & PROT_READ) && (prot & PROT_WRITE)) {
+ /* ACCESS_DEFAULT */
+ }
+ else if (prot & PROT_WRITE) {
+ access = ACCESS_WRITE;
+ }
+ else {
+ access = ACCESS_READ;
+ }
break;
default:
return PyErr_Format(PyExc_ValueError,
"mmap invalid access parameter.");
}
- if (prot == PROT_READ) {
- access = ACCESS_READ;
- }
-
#ifdef HAVE_FSTAT
# ifdef __VMS
/* on OpenVMS we must ensure that all bytes are written to the file */