From: Alexandre Vassalotti Date: Sun, 14 Oct 2007 02:54:41 +0000 (+0000) Subject: Fix the memory leak introduced in r58455. The buffer reference X-Git-Tag: v3.0a2~321 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4167ebcfee0449a89c359b8d68530bae92620f45;p=thirdparty%2FPython%2Fcpython.git Fix the memory leak introduced in r58455. The buffer reference returned by 'et' need to be freed after usage. --- diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 2fe2b6396cac..53856b4cd958 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -2150,8 +2150,10 @@ 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; + } rc = DosFindFirst(namebuf, /* Wildcard Pattern to Match */ &hdir, /* Handle to Use While Search Directory */ @@ -2192,6 +2194,7 @@ posix_listdir(PyObject *self, PyObject *args) } while (DosFindNext(hdir, &ep, sizeof(ep), &srchcnt) == NO_ERROR && srchcnt > 0); } + PyMem_Free(name); return d; #else