SF patch #471852 (anonymous) notes that getattr(obj, name, default)
masks any exception, not just AttributeError. Fix this.
This commit is contained in:
parent
9bc9d66eb1
commit
d892357bf7
|
@ -619,7 +619,9 @@ builtin_getattr(PyObject *self, PyObject *args)
|
|||
return NULL;
|
||||
}
|
||||
result = PyObject_GetAttr(v, name);
|
||||
if (result == NULL && dflt != NULL) {
|
||||
if (result == NULL && dflt != NULL &&
|
||||
PyErr_ExceptionMatches(PyExc_AttributeError))
|
||||
{
|
||||
PyErr_Clear();
|
||||
Py_INCREF(dflt);
|
||||
result = dflt;
|
||||
|
|
Loading…
Reference in New Issue