Skip to content

Commit dfd9cbe

Browse files
committed
the actual fix
1 parent a24e302 commit dfd9cbe

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

source/loaders/node_loader/source/node_loader_trampoline.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
#include <cinttypes>
1313
#include <cstdio> /* TODO: Improve this trick */
14+
#include <memory>
1415

1516
#define NODE_LOADER_TRAMPOLINE_DECLARE_NAPI_METHOD(name, func) \
1617
{ \
@@ -31,8 +32,9 @@ typedef struct loader_impl_async_future_await_trampoline_type
3132
future_resolve_callback resolve_callback;
3233
future_reject_callback reject_callback;
3334
void *context;
35+
} loader_impl_async_future_await_trampoline_type;
3436

35-
} * loader_impl_async_future_await_trampoline;
37+
typedef loader_impl_async_future_await_trampoline_type *loader_impl_async_future_await_trampoline;
3638

3739
template <typename T>
3840
union loader_impl_trampoline_cast
@@ -183,6 +185,7 @@ napi_value node_loader_trampoline_resolve(napi_env env, napi_callback_info info)
183185

184186
/* Execute the callback */
185187
loader_impl_async_future_await_trampoline trampoline = static_cast<loader_impl_async_future_await_trampoline>(result);
188+
std::unique_ptr<loader_impl_async_future_await_trampoline_type> trampoline_guard(trampoline);
186189

187190
return trampoline->resolve_trampoline(trampoline->node_impl, env, trampoline->resolve_callback, recv, args[1], trampoline->context);
188191
}
@@ -240,6 +243,7 @@ napi_value node_loader_trampoline_reject(napi_env env, napi_callback_info info)
240243

241244
/* Execute the callback */
242245
loader_impl_async_future_await_trampoline trampoline = static_cast<loader_impl_async_future_await_trampoline>(result);
246+
std::unique_ptr<loader_impl_async_future_await_trampoline_type> trampoline_guard(trampoline);
243247

244248
return trampoline->reject_trampoline(trampoline->node_impl, env, trampoline->reject_callback, recv, args[1], trampoline->context);
245249
}

0 commit comments

Comments
 (0)