summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@python.org>2024-05-10 09:31:55 (GMT)
committerGitHub <noreply@github.com>2024-05-10 09:31:55 (GMT)
commit7e6fcab20003b07621dc02ea78d6ea2fda500371 (patch)
treeaa8aa59cc3ddc5ed8b3bbbfa8d2dfaa1cf6987fe /Objects
parent17a2cc199d5d8dd9db49ea596cf243e2217263c6 (diff)
downloadcpython-7e6fcab20003b07621dc02ea78d6ea2fda500371.zip
cpython-7e6fcab20003b07621dc02ea78d6ea2fda500371.tar.gz
cpython-7e6fcab20003b07621dc02ea78d6ea2fda500371.tar.bz2
Fix some missing null checks. (GH-118721)
Diffstat (limited to 'Objects')
-rw-r--r--Objects/typeobject.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 4b144fa..b7c3fcf 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -6036,15 +6036,19 @@ object_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return NULL;
}
comma_w_quotes_sep = PyUnicode_FromString("', '");
+ if (!comma_w_quotes_sep) {
+ Py_DECREF(sorted_methods);
+ return NULL;
+ }
joined = PyUnicode_Join(comma_w_quotes_sep, sorted_methods);
- method_count = PyObject_Length(sorted_methods);
- Py_DECREF(sorted_methods);
+ Py_DECREF(comma_w_quotes_sep);
if (joined == NULL) {
- Py_DECREF(comma_w_quotes_sep);
+ Py_DECREF(sorted_methods);
return NULL;
}
+ method_count = PyObject_Length(sorted_methods);
+ Py_DECREF(sorted_methods);
if (method_count == -1) {
- Py_DECREF(comma_w_quotes_sep);
Py_DECREF(joined);
return NULL;
}
@@ -6056,7 +6060,6 @@ object_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
method_count > 1 ? "s" : "",
joined);
Py_DECREF(joined);
- Py_DECREF(comma_w_quotes_sep);
return NULL;
}
PyObject *obj = type->tp_alloc(type, 0);