Commit 6c913780 authored by Neal Norwitz's avatar Neal Norwitz

Fix some more memory leaks (in error conditions) introduced in r58455.

Also fix some indentation.
parent 4167ebcf
...@@ -2139,7 +2139,8 @@ posix_listdir(PyObject *self, PyObject *args) ...@@ -2139,7 +2139,8 @@ posix_listdir(PyObject *self, PyObject *args)
Py_FileSystemDefaultEncoding, &name, &len)) Py_FileSystemDefaultEncoding, &name, &len))
return NULL; return NULL;
if (len >= MAX_PATH) { if (len >= MAX_PATH) {
PyErr_SetString(PyExc_ValueError, "path too long"); PyMem_Free(name);
PyErr_SetString(PyExc_ValueError, "path too long");
return NULL; return NULL;
} }
strcpy(namebuf, name); strcpy(namebuf, name);
...@@ -2150,7 +2151,7 @@ posix_listdir(PyObject *self, PyObject *args) ...@@ -2150,7 +2151,7 @@ posix_listdir(PyObject *self, PyObject *args)
namebuf[len++] = SEP; namebuf[len++] = SEP;
strcpy(namebuf + len, "*.*"); strcpy(namebuf + len, "*.*");
if ((d = PyList_New(0)) == NULL) { if ((d = PyList_New(0)) == NULL) {
PyMem_Free(name); PyMem_Free(name);
return NULL; return NULL;
} }
...@@ -2164,7 +2165,7 @@ posix_listdir(PyObject *self, PyObject *args) ...@@ -2164,7 +2165,7 @@ posix_listdir(PyObject *self, PyObject *args)
if (rc != NO_ERROR) { if (rc != NO_ERROR) {
errno = ENOENT; errno = ENOENT;
return posix_error_with_filename(name); return posix_error_with_allocated_filename(name);
} }
if (srchcnt > 0) { /* If Directory is NOT Totally Empty, */ if (srchcnt > 0) { /* If Directory is NOT Totally Empty, */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment