Kaydet (Commit) 45381938 authored tarafından Georg Brandl's avatar Georg Brandl

Fix bug caused by first decrefing, then increfing.

üst d856ce0a
......@@ -1176,7 +1176,6 @@ static int
property_init(PyObject *self, PyObject *args, PyObject *kwds)
{
PyObject *get = NULL, *set = NULL, *del = NULL, *doc = NULL;
PyObject *get_doc = NULL;
static char *kwlist[] = {"fget", "fset", "fdel", "doc", 0};
propertyobject *gs = (propertyobject *)self;
......@@ -1194,16 +1193,16 @@ property_init(PyObject *self, PyObject *args, PyObject *kwds)
/* if no docstring given and the getter has one, use that one */
if ((doc == NULL || doc == Py_None) && get != NULL &&
PyObject_HasAttrString(get, "__doc__")) {
if (!(get_doc = PyObject_GetAttrString(get, "__doc__")))
doc = PyObject_GetAttrString(get, "__doc__");
if (doc == NULL)
return -1;
Py_DECREF(get_doc); /* it is INCREF'd again below */
doc = get_doc;
} else {
Py_XINCREF(doc);
}
Py_XINCREF(get);
Py_XINCREF(set);
Py_XINCREF(del);
Py_XINCREF(doc);
gs->prop_get = get;
gs->prop_set = set;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment