From: Andrew M. Kuchling Date: Tue, 15 Jul 2003 12:37:46 +0000 (+0000) Subject: [Patch #708374] Only apply the check for file size if the file is a regular file... X-Git-Tag: v2.3c1~77 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a3016678ed5697ae1a21ef328573c714a6d82b8c;p=python [Patch #708374] Only apply the check for file size if the file is a regular file, not a character or block device. --- diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c index 56033e8d4e..a61a37a10c 100644 --- a/Modules/mmapmodule.c +++ b/Modules/mmapmodule.c @@ -901,7 +901,8 @@ new_mmap_object(PyObject *self, PyObject *args, PyObject *kwdict) /* on OpenVMS we must ensure that all bytes are written to the file */ fsync(fd); # endif - if (fstat(fd, &st) == 0 && (size_t)map_size > st.st_size) { + if (fstat(fd, &st) == 0 && S_ISREG(st.st_mode) && + (size_t)map_size > st.st_size) { PyErr_SetString(PyExc_ValueError, "mmap length is greater than file size"); return NULL;