Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 691270f

Browse files
committed
Deferred the attribute name object type checking to the underlying
PyObject_Set/GetAttr() calls. This patch fixes bug #113829.
1 parent 1675375 commit 691270f

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

Python/bltinmodule.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -824,7 +824,7 @@ builtin_getattr(PyObject *self, PyObject *args)
824824
PyObject *v, *result, *dflt = NULL;
825825
PyObject *name;
826826

827-
if (!PyArg_ParseTuple(args, "OS|O:getattr", &v, &name, &dflt))
827+
if (!PyArg_ParseTuple(args, "OO|O:getattr", &v, &name, &dflt))
828828
return NULL;
829829
result = PyObject_GetAttr(v, name);
830830
if (result == NULL && dflt != NULL) {
@@ -867,7 +867,7 @@ builtin_hasattr(PyObject *self, PyObject *args)
867867
PyObject *v;
868868
PyObject *name;
869869

870-
if (!PyArg_ParseTuple(args, "OS:hasattr", &v, &name))
870+
if (!PyArg_ParseTuple(args, "OO:hasattr", &v, &name))
871871
return NULL;
872872
v = PyObject_GetAttr(v, name);
873873
if (v == NULL) {
@@ -1076,7 +1076,7 @@ builtin_setattr(PyObject *self, PyObject *args)
10761076
PyObject *name;
10771077
PyObject *value;
10781078

1079-
if (!PyArg_ParseTuple(args, "OSO:setattr", &v, &name, &value))
1079+
if (!PyArg_ParseTuple(args, "OOO:setattr", &v, &name, &value))
10801080
return NULL;
10811081
if (PyObject_SetAttr(v, name, value) != 0)
10821082
return NULL;
@@ -1097,7 +1097,7 @@ builtin_delattr(PyObject *self, PyObject *args)
10971097
PyObject *v;
10981098
PyObject *name;
10991099

1100-
if (!PyArg_ParseTuple(args, "OS:delattr", &v, &name))
1100+
if (!PyArg_ParseTuple(args, "OO:delattr", &v, &name))
11011101
return NULL;
11021102
if (PyObject_SetAttr(v, name, (PyObject *)NULL) != 0)
11031103
return NULL;

0 commit comments

Comments
 (0)