1;;! gc = true
2
3(module
4  (type $arr_i8 (array i8))
5  (type $arr_i64 (array i64))
6
7  ;; Overflow on `elems_size = len * sizeof(elem_type)`
8  (func (export "overflow-elems-size") (result (ref $arr_i64))
9    (array.new_default $arr_i64 (i32.const -1))
10  )
11
12  ;; Overflow on `base_size + elems_size`
13  (func (export "overflow-add-base-size") (result (ref $arr_i8))
14    (array.new_default $arr_i8 (i32.const -1))
15  )
16)
17
18(assert_trap (invoke "overflow-elems-size") "allocation size too large")
19(assert_trap (invoke "overflow-add-base-size") "allocation size too large")
20