# HG changeset patch # User ijl <ijl@mailbox.org> # Date 1597617393 0 # Sun Aug 16 22:36:33 2020 +0000 # Node ID eef7b29cc0a34538da179d9b3b02d630d0839852 # Parent f862b8a9a814bf672089c87ffbf749851ede10ec Fix ref leak in dataclass diff --git a/src/serialize/dataclass.rs b/src/serialize/dataclass.rs --- a/src/serialize/dataclass.rs +++ b/src/serialize/dataclass.rs @@ -64,7 +64,9 @@ std::ptr::null_mut(), ) }; - if unsafe { ffi!(PyObject_GetAttr(field, FIELD_TYPE_STR)) != FIELD_TYPE.as_ptr() } { + let field_type = ffi!(PyObject_GetAttr(field, FIELD_TYPE_STR)); + ffi!(Py_DECREF(field_type)); + if unsafe { field_type != FIELD_TYPE.as_ptr() } { continue; } {