summaryrefslogtreecommitdiff
path: root/Objects/descrobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/descrobject.c')
-rw-r--r--Objects/descrobject.c7
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;
}