make 'where' Py_ssize_t
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index 297bb07..0dc4805 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -585,11 +585,9 @@
if (!PyArg_ParseTuple(args, "n|i:seek", &dist, &how))
return NULL;
else {
- size_t where;
+ Py_ssize_t where;
switch (how) {
case 0: /* relative to start */
- if (dist < 0)
- goto onoutofrange;
where = dist;
break;
case 1: /* relative to current position */
@@ -606,7 +604,7 @@
PyErr_SetString(PyExc_ValueError, "unknown seek type");
return NULL;
}
- if (where > self->size)
+ if (where > self->size || where < 0)
goto onoutofrange;
self->pos = where;
Py_INCREF(Py_None);