Make _PyUnicode_FromId return borrowed references.
http://mail.python.org/pipermail/python-dev/2011-November/114347.html
diff --git a/Objects/object.c b/Objects/object.c
index 7db60f3..51188b7 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -814,11 +814,10 @@
_PyObject_GetAttrId(PyObject *v, _Py_Identifier *name)
{
PyObject *result;
- PyObject *oname = _PyUnicode_FromId(name);
+ PyObject *oname = _PyUnicode_FromId(name); /* borrowed */
if (!oname)
return NULL;
result = PyObject_GetAttr(v, oname);
- Py_DECREF(oname);
return result;
}
@@ -826,11 +825,10 @@
_PyObject_HasAttrId(PyObject *v, _Py_Identifier *name)
{
int result;
- PyObject *oname = _PyUnicode_FromId(name);
+ PyObject *oname = _PyUnicode_FromId(name); /* borrowed */
if (!oname)
return -1;
result = PyObject_HasAttr(v, oname);
- Py_DECREF(oname);
return result;
}
@@ -838,11 +836,10 @@
_PyObject_SetAttrId(PyObject *v, _Py_Identifier *name, PyObject *w)
{
int result;
- PyObject *oname = _PyUnicode_FromId(name);
+ PyObject *oname = _PyUnicode_FromId(name); /* borrowed */
if (!oname)
return -1;
result = PyObject_SetAttr(v, oname, w);
- Py_DECREF(oname);
return result;
}