Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index db65d5befbae7f779c1ef370fb3fa56bea3b7939..9418377c5ad059ee6b0088ab5eb7976670ac3a77 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -3414,6 +3414,15 @@ MaybeObject* JSObject::PreventExtensions() { |
return JSObject::cast(proto)->PreventExtensions(); |
} |
+ // It's not possible to seal objects with external array elements |
+ if (HasExternalArrayElements()) { |
+ Handle<Object> args[1] = { args[0] }; |
+ Handle<Object> error = |
+ isolate->factory()->NewTypeError("seal_external_array_elements", |
+ HandleVector(args, 1)); |
+ return isolate->Throw(*error); |
+ } |
+ |
// If there are fast elements we normalize. |
NumberDictionary* dictionary = NULL; |
{ MaybeObject* maybe = NormalizeElements(); |