From ee6a07f38b5039b0aa91753adf1507cd869ab011 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 30 Mar 2017 12:06:48 -0700 Subject: [PATCH 1/2] Test that invalid UTF-8 byte sequences are rejected. --- test/core/names.wast | 185 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) diff --git a/test/core/names.wast b/test/core/names.wast index 07b4deb58e..6fb833847b 100644 --- a/test/core/names.wast +++ b/test/core/names.wast @@ -74,3 +74,188 @@ ) (invoke "print32" (i32.const 42) (i32.const 123)) + +;; Test that byte sequences which do not validate as UTF-8 are rejected. + +(assert_invalid (module (func (export "\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\bf"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\c1"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\c2\80\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\c2"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\c2\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\c2\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\c2\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\c2\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\df\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\df\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\df\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\df\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\e1\80\80\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\e1\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\e0\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\e0\9f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\e0\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\e0\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\e1\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\e1\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\e1\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\e1\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ec\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ec\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ec\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ec\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ed\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ed\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ed\a0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ed\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ee\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ee\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ee\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ee\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ef\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ef\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ef\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ef\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f1\80\80\80\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f1\80\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f0\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f0\8f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f0\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f0\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f1\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f1\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f1\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f1\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f3\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f3\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f3\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f3\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f4\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f4\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f4\90"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f4\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\f5"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (export "\ff"))) "invalid utf-8 byte sequence in identifier") + +(assert_invalid (module (func (import "spectest" "\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\bf"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\c1"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\c2\80\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\c2"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\c2\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\c2\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\c2\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\c2\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\df\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\df\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\df\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\df\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\e1\80\80\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\e1\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\e0\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\e0\9f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\e0\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\e0\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\e1\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\e1\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\e1\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\e1\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ec\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ec\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ec\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ec\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ed\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ed\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ed\a0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ed\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ee\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ee\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ee\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ee\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ef\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ef\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ef\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ef\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f1\80\80\80\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f1\80\80"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f0\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f0\8f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f0\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f0\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f1\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f1\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f1\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f1\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f3\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f3\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f3\c0"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f3\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f4\00"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f4\7f"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f4\90"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f4\ff"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\f5"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "spectest" "\ff"))) "invalid utf-8 byte sequence in identifier") + +(assert_invalid (module (func (import "\80" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\bf" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\c0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\c1" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\c2\80\80" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\c2" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\c2\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\c2\7f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\c2\c0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\c2\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\df\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\df\7f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\df\c0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\df\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\e1\80\80\80" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\e1\80" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\e0\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\e0\9f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\e0\c0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\e0\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\e1\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\e1\7f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\e1\c0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\e1\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ec\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ec\7f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ec\c0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ec\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ed\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ed\7f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ed\a0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ed\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ee\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ee\7f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ee\c0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ee\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ef\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ef\7f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ef\c0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ef\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f1\80\80\80\80" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f1\80\80" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f0\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f0\8f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f0\c0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f0\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f1\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f1\7f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f1\c0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f1\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f3\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f3\7f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f3\c0" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f3\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f4\00" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f4\7f" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f4\90" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f4\ff" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\f5" "field"))) "invalid utf-8 byte sequence in identifier") +(assert_invalid (module (func (import "\ff" "field"))) "invalid utf-8 byte sequence in identifier") From 4cc30107798e3622b11fb9029f93bebe5b04c8a4 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 30 Mar 2017 12:36:08 -0700 Subject: [PATCH 2/2] Test that invalid UTF-8 byte sequences are rejected in custom section names too. --- test/core/custom_section.wast | 63 +++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/test/core/custom_section.wast b/test/core/custom_section.wast index f087a9d2d9..a9b2e9f18c 100644 --- a/test/core/custom_section.wast +++ b/test/core/custom_section.wast @@ -90,3 +90,66 @@ ) "function and code section have inconsistent lengths" ) + +;; Test that byte sequences which do not validate as UTF-8 are rejected. + +(assert_malformed (module "\00asm\01\00\00\00" "\00\02\01" "\80") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\02\01" "\bf") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\02\01" "\c0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\02\01" "\c1") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\04\03" "\c2\80\80") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\02\01" "\c2") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\c2\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\c2\7f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\c2\c0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\c2\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\df\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\df\7f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\df\c0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\df\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\05\04" "\e1\80\80\80") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\e1\80") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\e0\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\e0\9f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\e0\c0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\e0\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\e1\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\e1\7f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\e1\c0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\e1\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ec\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ec\7f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ec\c0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ec\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ed\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ed\7f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ed\a0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ed\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ee\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ee\7f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ee\c0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ee\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ef\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ef\7f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ef\c0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\ef\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\06\05" "\f1\80\80\80\80") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\04\03" "\f1\80\80") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f0\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f0\8f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f0\c0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f0\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f1\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f1\7f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f1\c0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f1\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f3\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f3\7f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f3\c0") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f3\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f4\00") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f4\7f") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f4\90") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\03\02" "\f4\ff") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\02\01" "\f5") "invalid utf-8 byte sequence") +(assert_malformed (module "\00asm\01\00\00\00" "\00\02\01" "\ff") "invalid utf-8 byte sequence")