cpython: b111ae4f83ef (original) (raw)
Mercurial > cpython
changeset 83825:b111ae4f83ef
Issue #17989: element_setattro returned incorrect error value. This caused an exception to be raised later than expected. [#17989]
Eli Bendersky eliben@gmail.com | |
---|---|
date | Sat, 18 May 2013 07:53:47 -0700 |
parents | 1b760f926846(current diff)9682241dc8fc(diff) |
children | fafd33db6ff6 |
files | Modules/_elementtree.c |
diffstat | 1 files changed, 8 insertions(+), 8 deletions(-)[+] [-] Modules/_elementtree.c 16 |
line wrap: on
line diff
--- a/Modules/_elementtree.c +++ b/Modules/_elementtree.c @@ -1768,17 +1768,16 @@ element_getattro(ElementObject* self, Py return res; } -static PyObject* +static int element_setattro(ElementObject* self, PyObject* nameobj, PyObject* value) { char *name = ""; if (PyUnicode_Check(nameobj)) name = _PyUnicode_AsString(nameobj);
- if (name == NULL) {
return -1;[](#l1.20)
- } else if (strcmp(name, "tag") == 0) { Py_DECREF(self->tag); self->tag = value; Py_INCREF(self->tag);
@@ -1797,11 +1796,12 @@ element_setattro(ElementObject* self, Py self->extra->attrib = value; Py_INCREF(self->extra->attrib); } else {
PyErr_SetString(PyExc_AttributeError, name);[](#l1.29)
return NULL;[](#l1.30)