interceptor return values escape their scope
authordcarney@chromium.org <dcarney@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 11 Jun 2013 11:08:46 +0000 (11:08 +0000)
committerdcarney@chromium.org <dcarney@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 11 Jun 2013 11:08:46 +0000 (11:08 +0000)
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16537005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/handles.cc

index 123fdc5..81828d9 100644 (file)
@@ -566,7 +566,8 @@ v8::Handle<v8::Array> GetKeysForNamedInterceptor(Handle<JSReceiver> receiver,
 #if ENABLE_EXTRA_CHECKS
   CHECK(result.IsEmpty() || v8::Utils::OpenHandle(*result)->IsJSObject());
 #endif
-  return result;
+  return v8::Local<v8::Array>::New(reinterpret_cast<v8::Isolate*>(isolate),
+                                   result);
 }
 
 
@@ -591,7 +592,8 @@ v8::Handle<v8::Array> GetKeysForIndexedInterceptor(Handle<JSReceiver> receiver,
 #endif
     }
   }
-  return result;
+  return v8::Local<v8::Array>::New(reinterpret_cast<v8::Isolate*>(isolate),
+                                   result);
 }