From b365224f1e8acddec5f5863a64fa809ae1e2d568 Mon Sep 17 00:00:00 2001 From: Matthew Parkinson Date: Thu, 12 Mar 2026 04:49:18 -0700 Subject: [PATCH] Remove CHECKWRITE checks from PyObject_SetAttr --- Objects/object.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/Objects/object.c b/Objects/object.c index 32023f1ed68eb5..73492a4bd3afb5 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -1479,12 +1479,7 @@ PyObject_SetAttr(PyObject *v, PyObject *name, PyObject *value) _PyUnicode_InternMortal(tstate->interp, &name); if (tp->tp_setattro != NULL) { - if(Py_CHECKWRITE(v)){ - err = (*tp->tp_setattro)(v, name, value); - }else{ - PyErr_WriteToImmutable(v); - err = -1; - } + err = (*tp->tp_setattro)(v, name, value); Py_DECREF(name); return err; @@ -1496,12 +1491,7 @@ PyObject_SetAttr(PyObject *v, PyObject *name, PyObject *value) return -1; } - if(Py_CHECKWRITE(v)){ - err = (*tp->tp_setattr)(v, (char *)name_str, value); - }else{ - PyErr_WriteToImmutable(v); - err = -1; - } + err = (*tp->tp_setattr)(v, (char *)name_str, value); Py_DECREF(name); return err;