From 9867ced6c2ba0a47a3d6fa54fdcc0d3a7d31597b Mon Sep 17 00:00:00 2001 From: "Michael W. Hudson" Date: Mon, 31 Jan 2005 17:01:59 +0000 Subject: Fix [ 1077106 ] Negative numbers to os.read() cause segfault Sorry for sitting on this for so long! Is there a chance it could make 2.3.5? --- Modules/posixmodule.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 7ecd864..2d3eaa3 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -5349,6 +5349,10 @@ posix_read(PyObject *self, PyObject *args) PyObject *buffer; if (!PyArg_ParseTuple(args, "ii:read", &fd, &size)) return NULL; + if (size < 0) { + errno = EINVAL; + return posix_error(); + } buffer = PyString_FromStringAndSize((char *)NULL, size); if (buffer == NULL) return NULL; -- cgit v0.12