From 0d3350daa8123a3e16d4a534b6e873eb12c10d7c Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Fri, 12 Jun 2020 18:18:43 +0200 Subject: [PATCH] bpo-40955: Fix memory leak in subprocess module (GH-20825) ``` Direct leak of 8 byte(s) in 1 object(s) allocated from: #0 0x7f008bf19667 in __interceptor_malloc (/lib64/libasan.so.6+0xb0667) #1 0x7f007a0bee4a in subprocess_fork_exec /home/heimes/dev/python/cpython/Modules/_posixsubprocess.c:774 #2 0xe0305b in cfunction_call Objects/methodobject.c:546 ``` Signed-off-by: Christian Heimes --- .../NEWS.d/next/Library/2020-06-12-11-55-30.bpo-40955.huixCg.rst | 1 + Modules/_posixsubprocess.c | 1 + 2 files changed, 2 insertions(+) create mode 100644 Misc/NEWS.d/next/Library/2020-06-12-11-55-30.bpo-40955.huixCg.rst diff --git a/Misc/NEWS.d/next/Library/2020-06-12-11-55-30.bpo-40955.huixCg.rst b/Misc/NEWS.d/next/Library/2020-06-12-11-55-30.bpo-40955.huixCg.rst new file mode 100644 index 00000000000000..9a9803044ec96f --- /dev/null +++ b/Misc/NEWS.d/next/Library/2020-06-12-11-55-30.bpo-40955.huixCg.rst @@ -0,0 +1 @@ +Fix a minor memory leak in :mod:`subprocess` module when extra_groups was specified. diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c index add2962189b1c8..5d1691ace41920 100644 --- a/Modules/_posixsubprocess.c +++ b/Modules/_posixsubprocess.c @@ -893,6 +893,7 @@ subprocess_fork_exec(PyObject* self, PyObject *args) if (_enable_gc(need_to_reenable_gc, gc_module)) { pid = -1; } + PyMem_RawFree(groups); Py_XDECREF(preexec_fn_args_tuple); Py_XDECREF(gc_module);