mirror of
https://github.com/python/cpython.git
synced 2025-07-25 04:04:13 +00:00
Fix the memory leak introduced in r58455. The buffer reference
returned by 'et' need to be freed after usage.
This commit is contained in:
parent
70a237179f
commit
4167ebcfee
1 changed files with 4 additions and 1 deletions
|
@ -2150,8 +2150,10 @@ 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);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
rc = DosFindFirst(namebuf, /* Wildcard Pattern to Match */
|
rc = DosFindFirst(namebuf, /* Wildcard Pattern to Match */
|
||||||
&hdir, /* Handle to Use While Search Directory */
|
&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);
|
} while (DosFindNext(hdir, &ep, sizeof(ep), &srchcnt) == NO_ERROR && srchcnt > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PyMem_Free(name);
|
||||||
return d;
|
return d;
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue