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?
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 @@
 	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;