]> granicus.if.org Git - python/commitdiff
Repair mangled code in the Windows flavor of
authorTim Peters <tim.peters@gmail.com>
Wed, 1 Mar 2006 04:35:45 +0000 (04:35 +0000)
committerTim Peters <tim.peters@gmail.com>
Wed, 1 Mar 2006 04:35:45 +0000 (04:35 +0000)
posix__getfullpathname().

In partial answer to the now-deleted XXX comment:

/* XXX(twouters) Why use 'et#' here at all? insize isn't used */

`insize` is an input parameter too, and it was left uninitialized,
leading to seemingly random failures.

Modules/posixmodule.c

index efe5074135ad75064409f6d578756051c0e14851..6949c901b770c605b2990ec32d3cad2ca9f468f7 100644 (file)
@@ -1901,7 +1901,7 @@ posix__getfullpathname(PyObject *self, PyObject *args)
        /* assume encoded strings wont more than double no of chars */
        char inbuf[MAX_PATH*2];
        char *inbufp = inbuf;
-       Py_ssize_t insize;
+       Py_ssize_t insize = sizeof(inbuf);
        char outbuf[MAX_PATH*2];
        char *temp;
 #ifdef Py_WIN_WIDE_FILENAMES
@@ -1921,7 +1921,6 @@ posix__getfullpathname(PyObject *self, PyObject *args)
                PyErr_Clear();
        }
 #endif
-       /* XXX(twouters) Why use 'et#' here at all? insize isn't used */
        if (!PyArg_ParseTuple (args, "et#:_getfullpathname",
                               Py_FileSystemDefaultEncoding, &inbufp,
                               &insize))