summaryrefslogtreecommitdiffstats
path: root/Objects/weakrefobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/weakrefobject.c')
-rw-r--r--Objects/weakrefobject.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/Objects/weakrefobject.c b/Objects/weakrefobject.c
index 4a64ef7..1d68bb5 100644
--- a/Objects/weakrefobject.c
+++ b/Objects/weakrefobject.c
@@ -903,8 +903,15 @@ PyObject_ClearWeakRefs(PyObject *object)
}
}
else {
- PyObject *tuple = PyTuple_New(count * 2);
+ PyObject *tuple;
Py_ssize_t i = 0;
+
+ tuple = PyTuple_New(count * 2);
+ if (tuple == NULL) {
+ if (restore_error)
+ PyErr_Fetch(&err_type, &err_value, &err_tb);
+ return;
+ }
for (i = 0; i < count; ++i) {
PyWeakReference *next = current->wr_next;