==6515==
==6515== 20 bytes in 1 blocks are definitely lost in loss record 1 of 7
==6515== at 0x4834CAB: operator new(unsigned int) (vg_replace_malloc.c:328)
==6515== by 0x257D1D: Napi::InstanceWrap<node_sqlite3::Database>::InstanceAccessor(char const*, Napi::Value (node_sqlite3::Database::*)(Napi::CallbackInfo const&), void (node_sqlite3::Database::*)(Napi::CallbackInfo const&, Napi::Value const&), napi_property_attributes, void*) (napi-inl.h:3417)
==6515== by 0x25034D: node_sqlite3::Database::Init(Napi::Env, Napi::Object) (database.cc:22)
==6515== by 0x1798B1: (anonymous namespace)::RegisterModule(Napi::Env, Napi::Object) (node_sqlite3.cc:21)
==6515== by 0x17A9E8: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}::operator()() const (napi-inl.h:375)
==6515== by 0x17C4D0: napi_value__* Napi::details::WrapCallback<Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}>(Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}) (napi-inl.h:73)
==6515== by 0x17AA37: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object)) (napi-inl.h:374)
==6515== by 0x17A90A: Init(napi_env__*, napi_value__*) (node_sqlite3.cc:118)
==6515== by 0x1738C6: napi_module_init (node_api_module.c:48)
==6515== by 0x173A05: napi_module_init_static (node_api_module.c:89)
==6515== by 0x17A955: iotjs_sqlite3_napi_init (node_sqlite3.cc:121)
==6515== by 0x1697AA: iotjs_module_get (iotjs_module.c:43)
==6515==
==6515== 20 bytes in 1 blocks are definitely lost in loss record 2 of 7
==6515== at 0x4834CAB: operator new(unsigned int) (vg_replace_malloc.c:328)
==6515== by 0x24A08F: Napi::InstanceWrap<node_sqlite3::Backup>::InstanceAccessor(char const*, Napi::Value (node_sqlite3::Backup::*)(Napi::CallbackInfo const&), void (node_sqlite3::Backup::*)(Napi::CallbackInfo const&, Napi::Value const&), napi_property_attributes, void*) (napi-inl.h:3417)
==6515== by 0x24615A: node_sqlite3::Backup::Init(Napi::Env, Napi::Object) (backup.cc:16)
==6515== by 0x179901: (anonymous namespace)::RegisterModule(Napi::Env, Napi::Object) (node_sqlite3.cc:23)
==6515== by 0x17A9E8: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}::operator()() const (napi-inl.h:375)
==6515== by 0x17C4D0: napi_value__* Napi::details::WrapCallback<Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}>(Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}) (napi-inl.h:73)
==6515== by 0x17AA37: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object)) (napi-inl.h:374)
==6515== by 0x17A90A: Init(napi_env__*, napi_value__*) (node_sqlite3.cc:118)
==6515== by 0x1738C6: napi_module_init (node_api_module.c:48)
==6515== by 0x173A05: napi_module_init_static (node_api_module.c:89)
==6515== by 0x17A955: iotjs_sqlite3_napi_init (node_sqlite3.cc:121)
==6515== by 0x1697AA: iotjs_module_get (iotjs_module.c:43)
==6515==
==6515== 20 bytes in 1 blocks are definitely lost in loss record 3 of 7
==6515== at 0x4834CAB: operator new(unsigned int) (vg_replace_malloc.c:328)
==6515== by 0x24A08F: Napi::InstanceWrap<node_sqlite3::Backup>::InstanceAccessor(char const*, Napi::Value (node_sqlite3::Backup::*)(Napi::CallbackInfo const&), void (node_sqlite3::Backup::*)(Napi::CallbackInfo const&, Napi::Value const&), napi_property_attributes, void*) (napi-inl.h:3417)
==6515== by 0x2461D7: node_sqlite3::Backup::Init(Napi::Env, Napi::Object) (backup.cc:17)
==6515== by 0x179901: (anonymous namespace)::RegisterModule(Napi::Env, Napi::Object) (node_sqlite3.cc:23)
==6515== by 0x17A9E8: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}::operator()() const (napi-inl.h:375)
==6515== by 0x17C4D0: napi_value__* Napi::details::WrapCallback<Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}>(Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}) (napi-inl.h:73)
==6515== by 0x17AA37: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object)) (napi-inl.h:374)
==6515== by 0x17A90A: Init(napi_env__*, napi_value__*) (node_sqlite3.cc:118)
==6515== by 0x1738C6: napi_module_init (node_api_module.c:48)
==6515== by 0x173A05: napi_module_init_static (node_api_module.c:89)
==6515== by 0x17A955: iotjs_sqlite3_napi_init (node_sqlite3.cc:121)
==6515== by 0x1697AA: iotjs_module_get (iotjs_module.c:43)
==6515==
==6515== 20 bytes in 1 blocks are definitely lost in loss record 4 of 7
==6515== at 0x4834CAB: operator new(unsigned int) (vg_replace_malloc.c:328)
==6515== by 0x24A08F: Napi::InstanceWrap<node_sqlite3::Backup>::InstanceAccessor(char const*, Napi::Value (node_sqlite3::Backup::*)(Napi::CallbackInfo const&), void (node_sqlite3::Backup::*)(Napi::CallbackInfo const&, Napi::Value const&), napi_property_attributes, void*) (napi-inl.h:3417)
==6515== by 0x246254: node_sqlite3::Backup::Init(Napi::Env, Napi::Object) (backup.cc:18)
==6515== by 0x179901: (anonymous namespace)::RegisterModule(Napi::Env, Napi::Object) (node_sqlite3.cc:23)
==6515== by 0x17A9E8: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}::operator()() const (napi-inl.h:375)
==6515== by 0x17C4D0: napi_value__* Napi::details::WrapCallback<Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}>(Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}) (napi-inl.h:73)
==6515== by 0x17AA37: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object)) (napi-inl.h:374)
==6515== by 0x17A90A: Init(napi_env__*, napi_value__*) (node_sqlite3.cc:118)
==6515== by 0x1738C6: napi_module_init (node_api_module.c:48)
==6515== by 0x173A05: napi_module_init_static (node_api_module.c:89)
==6515== by 0x17A955: iotjs_sqlite3_napi_init (node_sqlite3.cc:121)
==6515== by 0x1697AA: iotjs_module_get (iotjs_module.c:43)
==6515==
==6515== 20 bytes in 1 blocks are definitely lost in loss record 5 of 7
==6515== at 0x4834CAB: operator new(unsigned int) (vg_replace_malloc.c:328)
==6515== by 0x24A08F: Napi::InstanceWrap<node_sqlite3::Backup>::InstanceAccessor(char const*, Napi::Value (node_sqlite3::Backup::*)(Napi::CallbackInfo const&), void (node_sqlite3::Backup::*)(Napi::CallbackInfo const&, Napi::Value const&), napi_property_attributes, void*) (napi-inl.h:3417)
==6515== by 0x2462CE: node_sqlite3::Backup::Init(Napi::Env, Napi::Object) (backup.cc:19)
==6515== by 0x179901: (anonymous namespace)::RegisterModule(Napi::Env, Napi::Object) (node_sqlite3.cc:23)
==6515== by 0x17A9E8: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}::operator()() const (napi-inl.h:375)
==6515== by 0x17C4D0: napi_value__* Napi::details::WrapCallback<Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}>(Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}) (napi-inl.h:73)
==6515== by 0x17AA37: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object)) (napi-inl.h:374)
==6515== by 0x17A90A: Init(napi_env__*, napi_value__*) (node_sqlite3.cc:118)
==6515== by 0x1738C6: napi_module_init (node_api_module.c:48)
==6515== by 0x173A05: napi_module_init_static (node_api_module.c:89)
==6515== by 0x17A955: iotjs_sqlite3_napi_init (node_sqlite3.cc:121)
==6515== by 0x1697AA: iotjs_module_get (iotjs_module.c:43)
==6515==
==6515== 20 bytes in 1 blocks are definitely lost in loss record 6 of 7
==6515== at 0x4834CAB: operator new(unsigned int) (vg_replace_malloc.c:328)
==6515== by 0x24A08F: Napi::InstanceWrap<node_sqlite3::Backup>::InstanceAccessor(char const*, Napi::Value (node_sqlite3::Backup::*)(Napi::CallbackInfo const&), void (node_sqlite3::Backup::*)(Napi::CallbackInfo const&, Napi::Value const&), napi_property_attributes, void*) (napi-inl.h:3417)
==6515== by 0x246348: node_sqlite3::Backup::Init(Napi::Env, Napi::Object) (backup.cc:20)
==6515== by 0x179901: (anonymous namespace)::RegisterModule(Napi::Env, Napi::Object) (node_sqlite3.cc:23)
==6515== by 0x17A9E8: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}::operator()() const (napi-inl.h:375)
==6515== by 0x17C4D0: napi_value__* Napi::details::WrapCallback<Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}>(Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}) (napi-inl.h:73)
==6515== by 0x17AA37: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object)) (napi-inl.h:374)
==6515== by 0x17A90A: Init(napi_env__*, napi_value__*) (node_sqlite3.cc:118)
==6515== by 0x1738C6: napi_module_init (node_api_module.c:48)
==6515== by 0x173A05: napi_module_init_static (node_api_module.c:89)
==6515== by 0x17A955: iotjs_sqlite3_napi_init (node_sqlite3.cc:121)
==6515== by 0x1697AA: iotjs_module_get (iotjs_module.c:43)
==6515==
==6515== 20 bytes in 1 blocks are definitely lost in loss record 7 of 7
==6515== at 0x4834CAB: operator new(unsigned int) (vg_replace_malloc.c:328)
==6515== by 0x24A08F: Napi::InstanceWrap<node_sqlite3::Backup>::InstanceAccessor(char const*, Napi::Value (node_sqlite3::Backup::*)(Napi::CallbackInfo const&), void (node_sqlite3::Backup::*)(Napi::CallbackInfo const&, Napi::Value const&), napi_property_attributes, void*) (napi-inl.h:3417)
==6515== by 0x2463C4: node_sqlite3::Backup::Init(Napi::Env, Napi::Object) (backup.cc:21)
==6515== by 0x179901: (anonymous namespace)::RegisterModule(Napi::Env, Napi::Object) (node_sqlite3.cc:23)
==6515== by 0x17A9E8: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}::operator()() const (napi-inl.h:375)
==6515== by 0x17C4D0: napi_value__* Napi::details::WrapCallback<Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}>(Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object))::{lambda()#1}) (napi-inl.h:73)
==6515== by 0x17AA37: Napi::RegisterModule(napi_env__*, napi_value__*, Napi::Object (*)(Napi::Env, Napi::Object)) (napi-inl.h:374)
==6515== by 0x17A90A: Init(napi_env__*, napi_value__*) (node_sqlite3.cc:118)
==6515== by 0x1738C6: napi_module_init (node_api_module.c:48)
==6515== by 0x173A05: napi_module_init_static (node_api_module.c:89)
==6515== by 0x17A955: iotjs_sqlite3_napi_init (node_sqlite3.cc:121)
==6515== by 0x1697AA: iotjs_module_get (iotjs_module.c:43)
==6515==
InstanceAccessorCallbackData* callbackData =
new InstanceAccessorCallbackData({ getter, setter, data });
template <typename T>
inline ClassPropertyDescriptor<T> InstanceWrap<T>::InstanceAccessor(
const char* utf8name,
InstanceGetterCallback getter,
InstanceSetterCallback setter,
napi_property_attributes attributes,
void* data) {
InstanceAccessorCallbackData* callbackData =
new InstanceAccessorCallbackData({ getter, setter, data });
napi_property_descriptor desc = napi_property_descriptor();
desc.utf8name = utf8name;
desc.getter = getter != nullptr ? T::InstanceGetterCallbackWrapper : nullptr;
desc.setter = setter != nullptr ? T::InstanceSetterCallbackWrapper : nullptr;
desc.data = callbackData;
desc.attributes = attributes;
return desc;
}
template <typename T>
inline ClassPropertyDescriptor<T> InstanceWrap<T>::InstanceAccessor(
Symbol name,
InstanceGetterCallback getter,
InstanceSetterCallback setter,
napi_property_attributes attributes,
void* data) {
InstanceAccessorCallbackData* callbackData =
new InstanceAccessorCallbackData({ getter, setter, data });
napi_property_descriptor desc = napi_property_descriptor();
desc.name = name;
desc.getter = getter != nullptr ? T::InstanceGetterCallbackWrapper : nullptr;
desc.setter = setter != nullptr ? T::InstanceSetterCallbackWrapper : nullptr;
desc.data = callbackData;
desc.attributes = attributes;
return desc;
}
How to delete the following
newcreated data?Or
node_api.hneeds expost destructor function for data?