From: Inada Naoki Date: Tue, 18 Jul 2023 03:44:16 +0000 (+0900) Subject: gh-106843: fix memleak in _PyCompile_CleanDoc (#106846) X-Git-Tag: v3.13.0a1~1355 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ece3b9d12a2f47da8b144f185dfba9b2b725fc82;p=thirdparty%2FPython%2Fcpython.git gh-106843: fix memleak in _PyCompile_CleanDoc (#106846) --- diff --git a/Python/compile.c b/Python/compile.c index b80f7c01bcd9..2a735382c0cf 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -2267,6 +2267,7 @@ compiler_function_body(struct compiler *c, stmt_ty s, int is_async, Py_ssize_t f } } if (compiler_add_const(c->c_const_cache, c->u, docstring ? docstring : Py_None) < 0) { + Py_XDECREF(docstring); compiler_exit_scope(c); return ERROR; } @@ -8060,7 +8061,9 @@ _PyCompile_CleanDoc(PyObject *doc) } Py_DECREF(doc); - return PyUnicode_FromStringAndSize(buff, w - buff); + PyObject *res = PyUnicode_FromStringAndSize(buff, w - buff); + PyMem_Free(buff); + return res; }