diff options
author | Fedor Indutny <fedor.indutny@gmail.com> | 2014-03-18 14:03:22 +0400 |
---|---|---|
committer | Fedor Indutny <fedor.indutny@gmail.com> | 2014-03-21 16:16:58 +0400 |
commit | b76a1ff940568195c032ba48dc0d2ee8f198bb86 (patch) | |
tree | 65a45f383aba5865f52c9e2c41b7bc526920ea50 /src | |
parent | b84ebfe8860edfb83bff945c30d41e2d9c32dfca (diff) | |
download | android-node-v8-b76a1ff940568195c032ba48dc0d2ee8f198bb86.tar.gz android-node-v8-b76a1ff940568195c032ba48dc0d2ee8f198bb86.tar.bz2 android-node-v8-b76a1ff940568195c032ba48dc0d2ee8f198bb86.zip |
vm: share security token between contexts
By default, each `v8::Context` has a different Security Token, which
prevents access to one context from another.
fix #7140
Diffstat (limited to 'src')
-rw-r--r-- | src/node_contextify.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/node_contextify.cc b/src/node_contextify.cc index df63ed4f07..f552387ed2 100644 --- a/src/node_contextify.cc +++ b/src/node_contextify.cc @@ -224,7 +224,11 @@ class ContextifyContext { CreateDataWrapper(env)); object_template->SetAccessCheckCallbacks(GlobalPropertyNamedAccessCheck, GlobalPropertyIndexedAccessCheck); - return scope.Escape(Context::New(env->isolate(), NULL, object_template)); + + Local<Context> ctx = Context::New(env->isolate(), NULL, object_template); + if (!ctx.IsEmpty()) + ctx->SetSecurityToken(env->context()->GetSecurityToken()); + return scope.Escape(ctx); } |