aboutsummaryrefslogtreecommitdiff
path: root/Python
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2023-03-05 03:25:48 -0800
committerGitHub <noreply@github.com>2023-03-05 03:25:48 -0800
commit63fd95410038d1333da8b514adffdd0f4736aa27 (patch)
tree2c4049074025c00d16717fff5167e0fc7b1a4185 /Python
parentcaff048cb35c9498e95c1e64c507e0c6b7783d7e (diff)
downloadcpython3-63fd95410038d1333da8b514adffdd0f4736aa27.tar.gz
gh-102356: Add thrashcan macros to filter object dealloc (GH-102426)
Add thrashcan macros to the deallocator of the filter objects to protect against deeply nested destruction of chains of nested filters. (cherry picked from commit 66aa78cbe604a7c5731f074b869f92174a8e3b64) Co-authored-by: Marta Gómez Macías <mgmacias@google.com>
Diffstat (limited to 'Python')
-rw-r--r--Python/bltinmodule.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index a3fdb394a1..6c8725f982 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -556,9 +556,11 @@ static void
filter_dealloc(filterobject *lz)
{
PyObject_GC_UnTrack(lz);
+ Py_TRASHCAN_BEGIN(lz, filter_dealloc)
Py_XDECREF(lz->func);
Py_XDECREF(lz->it);
Py_TYPE(lz)->tp_free(lz);
+ Py_TRASHCAN_END
}
static int