| Index: runtime/vm/dart_api_impl.cc
|
| diff --git a/runtime/vm/dart_api_impl.cc b/runtime/vm/dart_api_impl.cc
|
| index a0997502203dd42f80b6f8b629de78a6ee726d19..5717ec81b21fca221195dc0b94be6426d557ba4d 100644
|
| --- a/runtime/vm/dart_api_impl.cc
|
| +++ b/runtime/vm/dart_api_impl.cc
|
| @@ -1244,6 +1244,9 @@ DART_EXPORT Dart_Handle Dart_ListSetAsBytes(Dart_Handle list,
|
| DARTSCOPE(isolate);
|
| const Object& obj = Object::Handle(Api::UnwrapHandle(list));
|
| if (obj.IsArray()) {
|
| + if (obj.IsImmutableArray()) {
|
| + return Api::Error("Cannot modify immutable array");
|
| + }
|
| Array& array_obj = Array::Handle();
|
| array_obj ^= obj.raw();
|
| Integer& integer = Integer::Handle();
|
| @@ -1289,6 +1292,9 @@ DART_EXPORT Dart_Handle Dart_ListSetAt(Dart_Handle list,
|
| DARTSCOPE(isolate);
|
| const Object& obj = Object::Handle(Api::UnwrapHandle(list));
|
| if (obj.IsArray()) {
|
| + if (obj.IsImmutableArray()) {
|
| + return Api::Error("Cannot modify immutable array");
|
| + }
|
| Array& array_obj = Array::Handle();
|
| array_obj ^= obj.raw();
|
| const Object& value_obj = Object::Handle(Api::UnwrapHandle(value));
|
|
|