diff options
-rw-r--r-- | Modules/zipimport.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Modules/zipimport.c b/Modules/zipimport.c index 12bfe23..ccbc784 100644 --- a/Modules/zipimport.c +++ b/Modules/zipimport.c @@ -236,12 +236,16 @@ make_filename(PyObject *prefix, PyObject *name) return NULL; } - if (!PyUnicode_AsUCS4(prefix, p, len, 0)) + if (!PyUnicode_AsUCS4(prefix, p, len, 0)) { + PyMem_Free(buf); return NULL; + } p += PyUnicode_GET_LENGTH(prefix); len -= PyUnicode_GET_LENGTH(prefix); - if (!PyUnicode_AsUCS4(name, p, len, 1)) + if (!PyUnicode_AsUCS4(name, p, len, 1)) { + PyMem_Free(buf); return NULL; + } for (; *p; p++) { if (*p == '.') *p = SEP; |