From 6c91378011ff1d39e0f504dedf31b9ecd75c90cf Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Sun, 14 Oct 2007 03:23:09 +0000 Subject: [PATCH] Fix some more memory leaks (in error conditions) introduced in r58455. Also fix some indentation. --- Modules/posixmodule.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 53856b4cd9..55af338e0a 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -2139,7 +2139,8 @@ posix_listdir(PyObject *self, PyObject *args) Py_FileSystemDefaultEncoding, &name, &len)) return NULL; if (len >= MAX_PATH) { - PyErr_SetString(PyExc_ValueError, "path too long"); + PyMem_Free(name); + PyErr_SetString(PyExc_ValueError, "path too long"); return NULL; } strcpy(namebuf, name); @@ -2150,7 +2151,7 @@ posix_listdir(PyObject *self, PyObject *args) namebuf[len++] = SEP; strcpy(namebuf + len, "*.*"); - if ((d = PyList_New(0)) == NULL) { + if ((d = PyList_New(0)) == NULL) { PyMem_Free(name); return NULL; } @@ -2164,7 +2165,7 @@ posix_listdir(PyObject *self, PyObject *args) if (rc != NO_ERROR) { errno = ENOENT; - return posix_error_with_filename(name); + return posix_error_with_allocated_filename(name); } if (srchcnt > 0) { /* If Directory is NOT Totally Empty, */ -- 2.40.0