diff options
Diffstat (limited to 'Objects/descrobject.c')
-rw-r--r-- | Objects/descrobject.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Objects/descrobject.c b/Objects/descrobject.c index ee3ad1b7a3..1b1487a025 100644 --- a/Objects/descrobject.c +++ b/Objects/descrobject.c @@ -1675,9 +1675,10 @@ property_copy(PyObject *old, PyObject *get, PyObject *set, PyObject *del) Py_DECREF(type); if (new == NULL) return NULL; - - Py_XINCREF(pold->prop_name); - Py_XSETREF(((propertyobject *) new)->prop_name, pold->prop_name); + if (PyObject_TypeCheck((new), &PyProperty_Type)) { + Py_XINCREF(pold->prop_name); + Py_XSETREF(((propertyobject *) new)->prop_name, pold->prop_name); + } return new; } |