summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHai Shi <shihai1992@gmail.com>2020-04-04 19:24:16 (GMT)
committerGitHub <noreply@github.com>2020-04-04 19:24:16 (GMT)
commitb709302f3125622986bd458dfb2954fda5e8366d (patch)
treea86af298ed71e6ee71c42802ef0ee969e43c48be
parenta94e6272f16381349dbed74cdb738ec8ae23b4fe (diff)
downloadcpython-b709302f3125622986bd458dfb2954fda5e8366d.zip
cpython-b709302f3125622986bd458dfb2954fda5e8366d.tar.gz
cpython-b709302f3125622986bd458dfb2954fda5e8366d.tar.bz2
bpo-40077: Fix potential refleaks of _json: traverse memo (GH-19344)
Fix possible refleaks in _json module, memo of PyScannerObject should be traversed.
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2020-04-04-12-43-19.bpo-40077.m15TTX.rst1
-rw-r--r--Modules/_json.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-04-04-12-43-19.bpo-40077.m15TTX.rst b/Misc/NEWS.d/next/Core and Builtins/2020-04-04-12-43-19.bpo-40077.m15TTX.rst
new file mode 100644
index 0000000..21ed615
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2020-04-04-12-43-19.bpo-40077.m15TTX.rst
@@ -0,0 +1 @@
+Fix possible refleaks in :mod:`_json`, memo of PyScannerObject should be traversed.
diff --git a/Modules/_json.c b/Modules/_json.c
index 4682cf8..8117d16 100644
--- a/Modules/_json.c
+++ b/Modules/_json.c
@@ -652,6 +652,7 @@ scanner_traverse(PyScannerObject *self, visitproc visit, void *arg)
Py_VISIT(self->parse_float);
Py_VISIT(self->parse_int);
Py_VISIT(self->parse_constant);
+ Py_VISIT(self->memo);
return 0;
}