summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHai Shi <shihai1992@gmail.com>2020-04-05 03:24:16 +0800
committerGitHub <noreply@github.com>2020-04-04 21:24:16 +0200
commitb709302f3125622986bd458dfb2954fda5e8366d (patch)
treea86af298ed71e6ee71c42802ef0ee969e43c48be
parenta94e6272f16381349dbed74cdb738ec8ae23b4fe (diff)
downloadcpython-git-b709302f3125622986bd458dfb2954fda5e8366d.tar.gz
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 0000000000..21ed615917
--- /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 4682cf8462..8117d1601b 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;
}