Skip to content

Commit 34c11cf

Browse files
legendecasmhdawson
authored andcommitted
src: disallow copying, double close of scopes
PR-URL: #566 Reviewed-By: NickNaso <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Gabriel Schulhof <[email protected]>
1 parent ce139a0 commit 34c11cf

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

napi.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1729,6 +1729,10 @@ namespace Napi {
17291729
explicit HandleScope(Napi::Env env);
17301730
~HandleScope();
17311731

1732+
// Disallow copying to prevent double close of napi_handle_scope
1733+
HandleScope(HandleScope const &) = delete;
1734+
void operator=(HandleScope const &) = delete;
1735+
17321736
operator napi_handle_scope() const;
17331737

17341738
Napi::Env Env() const;
@@ -1744,6 +1748,10 @@ namespace Napi {
17441748
explicit EscapableHandleScope(Napi::Env env);
17451749
~EscapableHandleScope();
17461750

1751+
// Disallow copying to prevent double close of napi_escapable_handle_scope
1752+
EscapableHandleScope(EscapableHandleScope const &) = delete;
1753+
void operator=(EscapableHandleScope const &) = delete;
1754+
17471755
operator napi_escapable_handle_scope() const;
17481756

17491757
Napi::Env Env() const;
@@ -1761,6 +1769,10 @@ namespace Napi {
17611769
CallbackScope(napi_env env, napi_async_context context);
17621770
virtual ~CallbackScope();
17631771

1772+
// Disallow copying to prevent double close of napi_callback_scope
1773+
CallbackScope(CallbackScope const &) = delete;
1774+
void operator=(CallbackScope const &) = delete;
1775+
17641776
operator napi_callback_scope() const;
17651777

17661778
Napi::Env Env() const;

0 commit comments

Comments
 (0)