summaryrefslogtreecommitdiffstats
path: root/Modules/mmapmodule.c
diff options
context:
space:
mode:
authorBrian Curtin <brian.curtin@gmail.com>2010-08-01 15:47:53 (GMT)
committerBrian Curtin <brian.curtin@gmail.com>2010-08-01 15:47:53 (GMT)
commitba6c08e67077a368c21016171446c26eef5c27d2 (patch)
tree546a2c82f1d1f9063306adae0a8e09211ea01480 /Modules/mmapmodule.c
parentaad57bd1bbaea92a5619a8d79d3d2ed90d32a35f (diff)
downloadcpython-ba6c08e67077a368c21016171446c26eef5c27d2.zip
cpython-ba6c08e67077a368c21016171446c26eef5c27d2.tar.gz
cpython-ba6c08e67077a368c21016171446c26eef5c27d2.tar.bz2
Merged revisions 83407 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r83407 | brian.curtin | 2010-08-01 10:26:26 -0500 (Sun, 01 Aug 2010) | 3 lines Fix #8105. Add validation to mmap.mmap so invalid file descriptors don't cause a crash on Windows. ........
Diffstat (limited to 'Modules/mmapmodule.c')
-rw-r--r--Modules/mmapmodule.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index 1acd1d8..b53aae1 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -1280,6 +1280,11 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
"don't use 0 for anonymous memory");
*/
if (fileno != -1 && fileno != 0) {
+ /* Ensure that fileno is within the CRT's valid range */
+ if (_PyVerify_fd(fileno) == 0) {
+ PyErr_SetFromErrno(mmap_module_error);
+ return NULL;
+ }
fh = (HANDLE)_get_osfhandle(fileno);
if (fh==(HANDLE)-1) {
PyErr_SetFromErrno(mmap_module_error);