[Python-checkins] CVS: python/dist/src/Objects object.c,2.71,2.72
Jeremy Hylton
python-dev@python.org
Fri, 23 Jun 2000 07:36:35 -0700
- Previous message: [Python-checkins] CVS: python/dist/src/Objects classobject.c,2.86,2.87 dictobject.c,2.52,2.53 funcobject.c,2.20,2.21 listobject.c,2.73,2.74 tupleobject.c,2.36,2.37
- Next message: [Python-checkins] CVS: python/dist/src/Objects classobject.c,2.87,2.88
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/python/python/dist/src/Objects
In directory slayer.i.sourceforge.net:/tmp/cvs-serv4239/Objects
Modified Files:
object.c
Log Message:
raise TypeError when PyObject_Get/SetAttr called with non-string name
Index: object.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/object.c,v
retrieving revision 2.71
retrieving revision 2.72
diff -C2 -r2.71 -r2.72
*** object.c 2000/06/09 16:20:39 2.71
--- object.c 2000/06/23 14:36:32 2.72
***************
*** 601,606 ****
if (v->ob_type->tp_getattro != NULL)
return (*v->ob_type->tp_getattro)(v, name);
! else
! return PyObject_GetAttrString(v, PyString_AsString(name));
}
--- 601,611 ----
if (v->ob_type->tp_getattro != NULL)
return (*v->ob_type->tp_getattro)(v, name);
!
! if (!PyString_Check(name)) {
! PyErr_SetString(PyExc_TypeError,
! "attribute name must be string");
! return NULL;
! }
! return PyObject_GetAttrString(v, PyString_AS_STRING(name));
}
***************
*** 627,636 ****
int err;
Py_INCREF(name);
! PyString_InternInPlace(&name);
if (v->ob_type->tp_setattro != NULL)
err = (*v->ob_type->tp_setattro)(v, name, value);
! else
err = PyObject_SetAttrString(
! v, PyString_AsString(name), value);
Py_DECREF(name);
return err;
--- 632,648 ----
int err;
Py_INCREF(name);
! if (PyString_Check(name))
! PyString_InternInPlace(&name);
if (v->ob_type->tp_setattro != NULL)
err = (*v->ob_type->tp_setattro)(v, name, value);
! else if (PyString_Check(name)) {
err = PyObject_SetAttrString(
! v, PyString_AS_STRING(name), value);
! }
! else {
! PyErr_SetString(PyExc_TypeError,
! "attribute name must be string");
! err = -1;
! }
Py_DECREF(name);
return err;
- Previous message: [Python-checkins] CVS: python/dist/src/Objects classobject.c,2.86,2.87 dictobject.c,2.52,2.53 funcobject.c,2.20,2.21 listobject.c,2.73,2.74 tupleobject.c,2.36,2.37
- Next message: [Python-checkins] CVS: python/dist/src/Objects classobject.c,2.87,2.88
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]