summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS2
-rw-r--r--Modules/_json.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index cd6dadc..91125e7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -32,6 +32,8 @@ Core and Builtins
Library
-------
+- Issue #22338: Fix a crash in the json module on memory allocation failure.
+
- Issue #22226: First letter no longer is stripped from the "status" key in
the result of Treeview.heading().
diff --git a/Modules/_json.c b/Modules/_json.c
index 20f4614..1580ee6 100644
--- a/Modules/_json.c
+++ b/Modules/_json.c
@@ -287,7 +287,7 @@ _build_rval_index_tuple(PyObject *rval, Py_ssize_t idx) {
} \
} \
if (PyList_Append(chunks, chunk)) { \
- Py_DECREF(chunk); \
+ Py_CLEAR(chunk); \
goto bail; \
} \
Py_CLEAR(chunk); \
@@ -1555,6 +1555,7 @@ encoder_listencode_dict(PyEncoderObject *s, _PyAccu *acc,
if (item == NULL)
goto bail;
PyList_SET_ITEM(items, i, item);
+ item = NULL;
Py_DECREF(key);
}
}