diff --git a/src/c-wrapper/internal/c-tools.h b/src/c-wrapper/internal/c-tools.h index 25aecf70d..b200979da 100644 --- a/src/c-wrapper/internal/c-tools.h +++ b/src/c-wrapper/internal/c-tools.h @@ -367,8 +367,9 @@ 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) { + result = bctbx_list_append(result, belle_sip_object_ref(getCBackPtr(value))); + } return result; } @@ -379,7 +380,7 @@ 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)); + result = bctbx_list_append(result, belle_sip_object_ref(getCBackPtr(value))); return result; }