67 lines
2.6 KiB
WebAssembly Text Format
67 lines
2.6 KiB
WebAssembly Text Format
;; Unsigned LEB128 can have non-minimal length
|
|
(module binary
|
|
"\00asm" "\01\00\00\00"
|
|
"\05\07\02" ;; Memory section with 2 entries
|
|
"\00\82\00" ;; no max, minimum 2
|
|
"\00\82\00" ;; no max, minimum 2
|
|
)
|
|
(module binary
|
|
"\00asm" "\01\00\00\00"
|
|
"\05\13\03" ;; Memory section with 3 entries
|
|
"\00\83\80\80\80\00" ;; no max, minimum 3
|
|
"\00\84\80\80\80\00" ;; no max, minimum 4
|
|
"\00\85\80\80\80\00" ;; no max, minimum 5
|
|
)
|
|
|
|
(module binary
|
|
"\00asm" "\01\00\00\00"
|
|
"\05\05\02" ;; Memory section with 2 entries
|
|
"\00\00" ;; no max, minimum 0
|
|
"\00\00" ;; no max, minimum 0
|
|
"\0b\06\01" ;; Data section with 1 entry
|
|
"\00" ;; Memory index 0
|
|
"\41\00\0b\00" ;; (i32.const 0) with contents ""
|
|
)
|
|
|
|
(module binary
|
|
"\00asm" "\01\00\00\00"
|
|
"\05\05\02" ;; Memory section with 2 entries
|
|
"\00\00" ;; no max, minimum 0
|
|
"\00\01" ;; no max, minimum 1
|
|
"\0b\07\01" ;; Data section with 1 entry
|
|
"\02\01" ;; Memory index 1
|
|
"\41\00\0b\00" ;; (i32.const 0) with contents ""
|
|
)
|
|
|
|
(module binary
|
|
"\00asm" "\01\00\00\00"
|
|
"\05\05\02" ;; Memory section with 2 entries
|
|
"\00\00" ;; no max, minimum 0
|
|
"\00\01" ;; no max, minimum 1
|
|
"\0b\0a\01" ;; Data section with 1 entry
|
|
"\02\81\80\80\00" ;; Memory index 1
|
|
"\41\00\0b\00" ;; (i32.const 0) with contents ""
|
|
)
|
|
|
|
;; Unsigned LEB128 must not be overlong
|
|
(assert_malformed
|
|
(module binary
|
|
"\00asm" "\01\00\00\00"
|
|
"\05\0a\02" ;; Memory section with 2 entries
|
|
"\00\01" ;; no max, minimum 1
|
|
"\00\82\80\80\80\80\00" ;; no max, minimum 2 with one byte too many
|
|
)
|
|
"integer representation too long"
|
|
)
|
|
|
|
;; 2 memories declared, 1 given
|
|
(assert_malformed
|
|
(module binary
|
|
"\00asm" "\01\00\00\00"
|
|
"\05\03\02" ;; memory section with inconsistent count (1 declared, 0 given)
|
|
"\00\00" ;; memory 0 (missed)
|
|
;; "\00\00" ;; memory 1 (missing)
|
|
)
|
|
"unexpected end of section or function"
|
|
)
|
|
|