components/python/python26/patches/Python26-15-getcwd.patch
author Tomas Klacko <tomas.klacko@oracle.com>
Tue, 19 Jun 2012 02:04:06 -0700
branchs11-sru
changeset 2292 7fe16a6a2bde
parent 115 c360825c3a3f
child 841 1a62cefa636d
permissions -rw-r--r--
7155867 *proftpd* does not work in multibyte locale other than UTF-8

diff --git Python-2.6.4/Modules/posixmodule.c Python-2.6.4/Modules/posixmodule.c
--- Python-2.6.4/Modules/posixmodule.c
+++ Python-2.6.4/Modules/posixmodule.c
@@ -1978,6 +1978,8 @@
 	char *res = NULL;
 	PyObject *dynamic_return;
 
+	int maxsize = pathconf(".", _PC_PATH_MAX);
+
 	Py_BEGIN_ALLOW_THREADS
 	do {
 		bufsize = bufsize + bufsize_incr;
@@ -1994,7 +1996,7 @@
 		if (res == NULL) {
 			free(tmpbuf);
 		}
-	} while ((res == NULL) && (errno == ERANGE));
+	} while ((res == NULL) && (errno == ERANGE) && (bufsize < maxsize));
 	Py_END_ALLOW_THREADS
 
 	if (res == NULL)