From 2fe07fda2d2d6f88e99a83ed7c625e80489a6f4d Mon Sep 17 00:00:00 2001 From: Just van Rossum Date: Mon, 3 Mar 2003 19:07:13 +0000 Subject: [PATCH] plugged leak noted by nnorwitz: the 'et' format returns allocated memory --- Modules/posixmodule.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index d9033f6c5a..cc922725d7 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -1771,7 +1771,7 @@ posix_listdir(PyObject *self, PyObject *args) return d; #else - char *name; + char *name = NULL; PyObject *d, *v; DIR *dirp; struct dirent *ep; @@ -1784,10 +1784,11 @@ posix_listdir(PyObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "et:listdir", Py_FileSystemDefaultEncoding, &name)) return NULL; if ((dirp = opendir(name)) == NULL) { - return posix_error_with_filename(name); + return posix_error_with_allocated_filename(name); } if ((d = PyList_New(0)) == NULL) { closedir(dirp); + PyMem_Free(name); return NULL; } while ((ep = readdir(dirp)) != NULL) { @@ -1826,6 +1827,7 @@ posix_listdir(PyObject *self, PyObject *args) Py_DECREF(v); } closedir(dirp); + PyMem_Free(name); return d; -- 2.40.0