diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-04-11 19:48:14 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-04-11 19:48:14 (GMT) |
commit | ef3e4c2b4d5f07acc33c66d01063fcdf00b7b7d9 (patch) | |
tree | 953ceebb0269e299b933471f323d9a50de989e9d /Modules/mmapmodule.c | |
parent | da2ba336da60c2a853df3a95dbe8921e104dd4be (diff) | |
download | cpython-ef3e4c2b4d5f07acc33c66d01063fcdf00b7b7d9.zip cpython-ef3e4c2b4d5f07acc33c66d01063fcdf00b7b7d9.tar.gz cpython-ef3e4c2b4d5f07acc33c66d01063fcdf00b7b7d9.tar.bz2 |
Merged revisions 70980,71059,71225,71234,71241,71243,71249,71251,71255,71266,71299,71329,71397-71398,71486 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r70980 | jack.diederich | 2009-04-01 15:26:13 -0500 (Wed, 01 Apr 2009) | 3 lines
bounds check arguments to mmap.move(). All of them. Really.
fixes crasher on OS X 10.5
........
r71059 | mark.dickinson | 2009-04-02 13:39:37 -0500 (Thu, 02 Apr 2009) | 2 lines
sys.long_info attributes should be ints, not longs
........
r71225 | georg.brandl | 2009-04-05 06:54:07 -0500 (Sun, 05 Apr 2009) | 1 line
#5580: no need to use parentheses when converterr() argument is actually a type description.
........
r71234 | georg.brandl | 2009-04-05 08:16:35 -0500 (Sun, 05 Apr 2009) | 1 line
Whitespace normalization.
........
r71241 | georg.brandl | 2009-04-05 09:48:49 -0500 (Sun, 05 Apr 2009) | 1 line
#5471: fix expanduser() for $HOME set to "/".
........
r71243 | georg.brandl | 2009-04-05 10:14:29 -0500 (Sun, 05 Apr 2009) | 1 line
#5432: make plistlib docstring a raw string, since it contains examples with backslash escapes.
........
r71249 | georg.brandl | 2009-04-05 11:30:43 -0500 (Sun, 05 Apr 2009) | 1 line
#5444: adapt make.bat to new htmlhelp output file name.
........
r71251 | georg.brandl | 2009-04-05 12:17:42 -0500 (Sun, 05 Apr 2009) | 1 line
#5298: clarify docs about GIL by using more consistent wording.
........
r71255 | georg.brandl | 2009-04-05 13:34:58 -0500 (Sun, 05 Apr 2009) | 1 line
#602893: add indicator for current line in cgitb that doesnt rely on styling alone.
........
r71266 | georg.brandl | 2009-04-05 15:23:13 -0500 (Sun, 05 Apr 2009) | 1 line
Normalize issue referencing style.
........
r71299 | gregory.p.smith | 2009-04-05 18:43:58 -0500 (Sun, 05 Apr 2009) | 3 lines
Fixes issue5705: os.setuid() and friends did not accept the same range of
values that pwd.getpwnam() returns.
........
r71329 | benjamin.peterson | 2009-04-06 16:53:33 -0500 (Mon, 06 Apr 2009) | 1 line
add create_connection to __all__ #5711
........
r71397 | georg.brandl | 2009-04-08 11:36:39 -0500 (Wed, 08 Apr 2009) | 1 line
Remove redundant backtick.
........
r71398 | georg.brandl | 2009-04-08 11:39:04 -0500 (Wed, 08 Apr 2009) | 1 line
Update ignore file for suspicious builder.
........
r71486 | andrew.kuchling | 2009-04-11 11:18:14 -0500 (Sat, 11 Apr 2009) | 1 line
Re-word
........
Diffstat (limited to 'Modules/mmapmodule.c')
-rw-r--r-- | Modules/mmapmodule.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c index 299eafd..fd247ab 100644 --- a/Modules/mmapmodule.c +++ b/Modules/mmapmodule.c @@ -620,23 +620,23 @@ mmap_seek_method(mmap_object *self, PyObject *args) static PyObject * mmap_move_method(mmap_object *self, PyObject *args) { - unsigned long dest, src, count; + unsigned long dest, src, cnt; CHECK_VALID(NULL); - if (!PyArg_ParseTuple(args, "kkk:move", &dest, &src, &count) || + if (!PyArg_ParseTuple(args, "kkk:move", &dest, &src, &cnt) || !is_writable(self)) { return NULL; } else { /* bounds check the values */ - unsigned long pos = src > dest ? src : dest; - if (self->size < pos || count > self->size - pos) { + if (cnt < 0 || (cnt + dest) < cnt || (cnt + src) < cnt || + src < 0 || src > self->size || (src + cnt) > self->size || + dest < 0 || dest > self->size || (dest + cnt) > self->size) { PyErr_SetString(PyExc_ValueError, - "source or destination out of range"); + "source, destination, or count out of range"); return NULL; - } else { - memmove(self->data+dest, self->data+src, count); - Py_INCREF(Py_None); - return Py_None; } + memmove(self->data+dest, self->data+src, cnt); + Py_INCREF(Py_None); + return Py_None; } } |