[Python-checkins] gh-106843: fix memleak in _PyCompile_CleanDoc (#106846)

methane webhook-mailer at python.org
Mon Jul 17 23:44:20 EDT 2023


https://github.com/python/cpython/commit/ece3b9d12a2f47da8b144f185dfba9b2b725fc82
commit: ece3b9d12a2f47da8b144f185dfba9b2b725fc82
branch: main
author: Inada Naoki <songofacandy at gmail.com>
committer: methane <songofacandy at gmail.com>
date: 2023-07-18T03:44:16Z
summary:

gh-106843: fix memleak in _PyCompile_CleanDoc (#106846)

files:
M Python/compile.c

diff --git a/Python/compile.c b/Python/compile.c
index b80f7c01bcd90..2a735382c0cfd 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;
 }
 
 



More information about the Python-checkins mailing list