Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 7e87efd

Browse files
osa1Commit Queue
authored and
Commit Queue
committed
[dart2wasm] Check bounds in list [] and []=
These tests now pass: - co19/Language/Expressions/Lists/indices_t01 - co19/LibTest/collection/UnmodifiableListView/operator_subscript_A02_t01 - co19/LibTest/core/List/List_A01_t01 - corelib/iterable_element_at_test/none - corelib/list_growable_test - corelib/list_unmodifiable_test - corelib/range_error_test - language/no_such_method/empty_selector_test - language/unsorted/range_analysis2_test - language/unsorted/value_range2_test - language/unsorted/value_range3_test - language/unsorted/value_range_test Change-Id: Ia96ebf6490e01e647c482406639accbfe40d44fc Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/264700 Commit-Queue: Ömer Ağacan <[email protected]> Reviewed-by: Joshua Litt <[email protected]>
1 parent 1a7df42 commit 7e87efd

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

sdk/lib/_internal/wasm/lib/list.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ abstract class _ListBase<E> extends ListBase<E> {
1818
_ListBase._withData(this._length, this._data);
1919

2020
E operator [](int index) {
21+
RangeError.checkValidIndex(index, this, "[]", _length);
2122
return unsafeCast(_data.read(index));
2223
}
2324

@@ -51,6 +52,7 @@ abstract class _ModifiableList<E> extends _ListBase<E> {
5152
: super._withData(length, data);
5253

5354
void operator []=(int index, E value) {
55+
RangeError.checkValidIndex(index, this, "[]=", _length);
5456
_data.write(index, value);
5557
}
5658

0 commit comments

Comments
 (0)