diff --git a/Python/marshal.c b/Python/marshal.c index bb5faf32975..6f0ee5e83ed 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -1522,8 +1522,10 @@ PyMarshal_WriteObjectToString(PyObject *x, int version) wf.depth = 0; wf.version = version; if (version >= 3) { - if ((wf.refs = PyDict_New()) == NULL) + if ((wf.refs = PyDict_New()) == NULL) { + Py_DECREF(wf.str); return NULL; + } } else wf.refs = NULL; w_object(x, &wf);