diff --git a/base/src/parcel.cpp b/base/src/parcel.cpp index 855f7cfe48fa18772d56a8e001f055bfb7f1ffc5..c3b6a9820ae24492bab0baf01791588d056e2688 100644 --- a/base/src/parcel.cpp +++ b/base/src/parcel.cpp @@ -626,7 +626,8 @@ bool Parcel::WriteRemoteObject(const Parcelable *object) WriteObjectOffset(placeholder); if (object->TestBehavior(Parcelable::BehaviorFlag::HOLD_OBJECT)) { - objectHolder_.push_back(const_cast(object)); + sptr tmp(const_cast(object)); + objectHolder_.push_back(tmp); } return true;