From 5327f370344a627f1578d8183d197feb286371c6 Mon Sep 17 00:00:00 2001 From: Zackery Spytz Date: Wed, 27 Jan 2021 01:16:20 -0700 Subject: bpo-43033: Fix the handling of PyObject_SetAttrString() in _zoneinfo.c (GH-24345) --- Modules/_zoneinfo.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Modules/_zoneinfo.c b/Modules/_zoneinfo.c index d1e0934..4a4cbdb 100644 --- a/Modules/_zoneinfo.c +++ b/Modules/_zoneinfo.c @@ -2525,7 +2525,11 @@ zoneinfo_init_subclass(PyTypeObject *cls, PyObject *args, PyObject **kwargs) return NULL; } - PyObject_SetAttrString((PyObject *)cls, "_weak_cache", weak_cache); + if (PyObject_SetAttrString((PyObject *)cls, "_weak_cache", + weak_cache) < 0) { + Py_DECREF(weak_cache); + return NULL; + } Py_DECREF(weak_cache); Py_RETURN_NONE; } -- cgit v0.12