Merged revisions 77007 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77007 | gregory.p.smith | 2009-12-23 01:31:11 -0800 (Wed, 23 Dec 2009) | 3 lines

  Fix possible integer overflow in lchown and fchown functions.  For issue1747858.
........
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index ebdbc8d..616722f 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -1923,9 +1923,10 @@
 static PyObject *
 posix_fchown(PyObject *self, PyObject *args)
 {
-	int fd, uid, gid;
+	int fd;
+	long uid, gid;
 	int res;
-	if (!PyArg_ParseTuple(args, "iii:chown", &fd, &uid, &gid))
+	if (!PyArg_ParseTuple(args, "ill:chown", &fd, &uid, &gid))
 		return NULL;
 	Py_BEGIN_ALLOW_THREADS
 	res = fchown(fd, (uid_t) uid, (gid_t) gid);
@@ -1946,9 +1947,9 @@
 posix_lchown(PyObject *self, PyObject *args)
 {
 	char *path = NULL;
-	int uid, gid;
+	long uid, gid;
 	int res;
-	if (!PyArg_ParseTuple(args, "etii:lchown",
+	if (!PyArg_ParseTuple(args, "etll:lchown",
 	                      Py_FileSystemDefaultEncoding, &path,
 	                      &uid, &gid))
 		return NULL;