Skip to content

Commit a1f2fef

Browse files
[3.14] gh-144986: Fix memory leak in atexit.register() (GH-144987) (#145020)
gh-144986: Fix memory leak in atexit.register() (GH-144987) (cherry picked from commit 50c1471) Co-authored-by: Shamil <ashm.tech@proton.me>
1 parent a887eae commit a1f2fef

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Fix a memory leak in :func:`atexit.register`.
2+
Patch by Shamil Abdulaev.

Modules/atexitmodule.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,13 +184,17 @@ atexit_register(PyObject *module, PyObject *args, PyObject *kwargs)
184184
return NULL;
185185
}
186186
PyObject *func_args = PyTuple_GetSlice(args, 1, PyTuple_GET_SIZE(args));
187+
if (func_args == NULL) {
188+
return NULL;
189+
}
187190
PyObject *func_kwargs = kwargs;
188191

189192
if (func_kwargs == NULL)
190193
{
191194
func_kwargs = Py_None;
192195
}
193196
PyObject *callback = PyTuple_Pack(3, func, func_args, func_kwargs);
197+
Py_DECREF(func_args);
194198
if (callback == NULL)
195199
{
196200
return NULL;

0 commit comments

Comments
 (0)