From 56a25645a84bc5ce54b54c0b102e255965b1d412 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 23 Apr 2018 16:38:19 +0200 Subject: [PATCH] fix(c-tools): clone objects in getResolvedCListFromCppList --- src/c-wrapper/internal/c-tools.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/c-wrapper/internal/c-tools.h b/src/c-wrapper/internal/c-tools.h index 4cbea191b..96bfb4edf 100644 --- a/src/c-wrapper/internal/c-tools.h +++ b/src/c-wrapper/internal/c-tools.h @@ -559,8 +559,11 @@ public: > static inline bctbx_list_t *getResolvedCListFromCppList (const std::list &cppList) { bctbx_list_t *result = nullptr; - for (const auto &value : cppList) - result = bctbx_list_append(result, getCBackPtr(&value)); + for (const auto &value : cppList) { + auto cValue = getCBackPtr(new CppType(value)); + reinterpret_cast *>(cValue)->owner = WrappedObjectOwner::External; + result = bctbx_list_append(result, cValue); + } return result; }