github.com/tetratelabs/wazero@v1.7.3-0.20240513003603-48f702e154b5/internal/integration_test/spectest/v2/testdata/utf8-import-field.wast (about) 1 ;;;;;; Invalid UTF-8 import field names 2 3 ;;;; Continuation bytes not preceded by prefixes 4 5 ;; encoding starts with (first) continuation byte 6 (assert_malformed 7 (module binary 8 "\00asm" "\01\00\00\00" 9 "\02\0b" ;; import section 10 "\01" ;; length 1 11 "\01\80" ;; "\80" 12 "\04\74\65\73\74" ;; "test" 13 "\03" ;; GlobalImport 14 "\7f" ;; i32 15 "\00" ;; immutable 16 ) 17 "malformed UTF-8 encoding" 18 ) 19 20 ;; encoding starts with (0x8f) continuation byte 21 (assert_malformed 22 (module binary 23 "\00asm" "\01\00\00\00" 24 "\02\0b" ;; import section 25 "\01" ;; length 1 26 "\01\8f" ;; "\8f" 27 "\04\74\65\73\74" ;; "test" 28 "\03" ;; GlobalImport 29 "\7f" ;; i32 30 "\00" ;; immutable 31 ) 32 "malformed UTF-8 encoding" 33 ) 34 35 ;; encoding starts with (0x90) continuation byte 36 (assert_malformed 37 (module binary 38 "\00asm" "\01\00\00\00" 39 "\02\0b" ;; import section 40 "\01" ;; length 1 41 "\01\90" ;; "\90" 42 "\04\74\65\73\74" ;; "test" 43 "\03" ;; GlobalImport 44 "\7f" ;; i32 45 "\00" ;; immutable 46 ) 47 "malformed UTF-8 encoding" 48 ) 49 50 ;; encoding starts with (0x9f) continuation byte 51 (assert_malformed 52 (module binary 53 "\00asm" "\01\00\00\00" 54 "\02\0b" ;; import section 55 "\01" ;; length 1 56 "\01\9f" ;; "\9f" 57 "\04\74\65\73\74" ;; "test" 58 "\03" ;; GlobalImport 59 "\7f" ;; i32 60 "\00" ;; immutable 61 ) 62 "malformed UTF-8 encoding" 63 ) 64 65 ;; encoding starts with (0xa0) continuation byte 66 (assert_malformed 67 (module binary 68 "\00asm" "\01\00\00\00" 69 "\02\0b" ;; import section 70 "\01" ;; length 1 71 "\01\a0" ;; "\a0" 72 "\04\74\65\73\74" ;; "test" 73 "\03" ;; GlobalImport 74 "\7f" ;; i32 75 "\00" ;; immutable 76 ) 77 "malformed UTF-8 encoding" 78 ) 79 80 ;; encoding starts with (last) continuation byte 81 (assert_malformed 82 (module binary 83 "\00asm" "\01\00\00\00" 84 "\02\0b" ;; import section 85 "\01" ;; length 1 86 "\01\bf" ;; "\bf" 87 "\04\74\65\73\74" ;; "test" 88 "\03" ;; GlobalImport 89 "\7f" ;; i32 90 "\00" ;; immutable 91 ) 92 "malformed UTF-8 encoding" 93 ) 94 95 ;;;; 2-byte sequences 96 97 ;; 2-byte sequence contains 3 bytes 98 (assert_malformed 99 (module binary 100 "\00asm" "\01\00\00\00" 101 "\02\0d" ;; import section 102 "\01" ;; length 1 103 "\03\c2\80\80" ;; "\c2\80\80" 104 "\04\74\65\73\74" ;; "test" 105 "\03" ;; GlobalImport 106 "\7f" ;; i32 107 "\00" ;; immutable 108 ) 109 "malformed UTF-8 encoding" 110 ) 111 112 ;; 2-byte sequence contains 1 byte at end of string 113 (assert_malformed 114 (module binary 115 "\00asm" "\01\00\00\00" 116 "\02\0b" ;; import section 117 "\01" ;; length 1 118 "\01\c2" ;; "\c2" 119 "\04\74\65\73\74" ;; "test" 120 "\03" ;; GlobalImport 121 "\7f" ;; i32 122 "\00" ;; immutable 123 ) 124 "malformed UTF-8 encoding" 125 ) 126 127 ;; 2-byte sequence contains 1 byte 128 (assert_malformed 129 (module binary 130 "\00asm" "\01\00\00\00" 131 "\02\0c" ;; import section 132 "\01" ;; length 1 133 "\02\c2\2e" ;; "\c2." 134 "\04\74\65\73\74" ;; "test" 135 "\03" ;; GlobalImport 136 "\7f" ;; i32 137 "\00" ;; immutable 138 ) 139 "malformed UTF-8 encoding" 140 ) 141 142 ;;;; 2-byte sequence contents 143 144 ;; overlong encoding after 0xc0 prefix 145 (assert_malformed 146 (module binary 147 "\00asm" "\01\00\00\00" 148 "\02\0c" ;; import section 149 "\01" ;; length 1 150 "\02\c0\80" ;; "\c0\80" 151 "\04\74\65\73\74" ;; "test" 152 "\03" ;; GlobalImport 153 "\7f" ;; i32 154 "\00" ;; immutable 155 ) 156 "malformed UTF-8 encoding" 157 ) 158 159 ;; overlong encoding after 0xc0 prefix 160 (assert_malformed 161 (module binary 162 "\00asm" "\01\00\00\00" 163 "\02\0c" ;; import section 164 "\01" ;; length 1 165 "\02\c0\bf" ;; "\c0\bf" 166 "\04\74\65\73\74" ;; "test" 167 "\03" ;; GlobalImport 168 "\7f" ;; i32 169 "\00" ;; immutable 170 ) 171 "malformed UTF-8 encoding" 172 ) 173 174 ;; overlong encoding after 0xc1 prefix 175 (assert_malformed 176 (module binary 177 "\00asm" "\01\00\00\00" 178 "\02\0c" ;; import section 179 "\01" ;; length 1 180 "\02\c1\80" ;; "\c1\80" 181 "\04\74\65\73\74" ;; "test" 182 "\03" ;; GlobalImport 183 "\7f" ;; i32 184 "\00" ;; immutable 185 ) 186 "malformed UTF-8 encoding" 187 ) 188 189 ;; overlong encoding after 0xc1 prefix 190 (assert_malformed 191 (module binary 192 "\00asm" "\01\00\00\00" 193 "\02\0c" ;; import section 194 "\01" ;; length 1 195 "\02\c1\bf" ;; "\c1\bf" 196 "\04\74\65\73\74" ;; "test" 197 "\03" ;; GlobalImport 198 "\7f" ;; i32 199 "\00" ;; immutable 200 ) 201 "malformed UTF-8 encoding" 202 ) 203 204 ;; byte after (first) 2-byte prefix not a contination byte 205 (assert_malformed 206 (module binary 207 "\00asm" "\01\00\00\00" 208 "\02\0c" ;; import section 209 "\01" ;; length 1 210 "\02\c2\00" ;; "\c2\00" 211 "\04\74\65\73\74" ;; "test" 212 "\03" ;; GlobalImport 213 "\7f" ;; i32 214 "\00" ;; immutable 215 ) 216 "malformed UTF-8 encoding" 217 ) 218 219 ;; byte after (first) 2-byte prefix not a continuation byte 220 (assert_malformed 221 (module binary 222 "\00asm" "\01\00\00\00" 223 "\02\0c" ;; import section 224 "\01" ;; length 1 225 "\02\c2\7f" ;; "\c2\7f" 226 "\04\74\65\73\74" ;; "test" 227 "\03" ;; GlobalImport 228 "\7f" ;; i32 229 "\00" ;; immutable 230 ) 231 "malformed UTF-8 encoding" 232 ) 233 234 ;; byte after (first) 2-byte prefix not a continuation byte 235 (assert_malformed 236 (module binary 237 "\00asm" "\01\00\00\00" 238 "\02\0c" ;; import section 239 "\01" ;; length 1 240 "\02\c2\c0" ;; "\c2\c0" 241 "\04\74\65\73\74" ;; "test" 242 "\03" ;; GlobalImport 243 "\7f" ;; i32 244 "\00" ;; immutable 245 ) 246 "malformed UTF-8 encoding" 247 ) 248 249 ;; byte after (first) 2-byte prefix not a continuation byte 250 (assert_malformed 251 (module binary 252 "\00asm" "\01\00\00\00" 253 "\02\0c" ;; import section 254 "\01" ;; length 1 255 "\02\c2\fd" ;; "\c2\fd" 256 "\04\74\65\73\74" ;; "test" 257 "\03" ;; GlobalImport 258 "\7f" ;; i32 259 "\00" ;; immutable 260 ) 261 "malformed UTF-8 encoding" 262 ) 263 264 ;; byte after (last) 2-byte prefix not a continuation byte 265 (assert_malformed 266 (module binary 267 "\00asm" "\01\00\00\00" 268 "\02\0c" ;; import section 269 "\01" ;; length 1 270 "\02\df\00" ;; "\df\00" 271 "\04\74\65\73\74" ;; "test" 272 "\03" ;; GlobalImport 273 "\7f" ;; i32 274 "\00" ;; immutable 275 ) 276 "malformed UTF-8 encoding" 277 ) 278 279 ;; byte after (last) 2-byte prefix not a continuation byte 280 (assert_malformed 281 (module binary 282 "\00asm" "\01\00\00\00" 283 "\02\0c" ;; import section 284 "\01" ;; length 1 285 "\02\df\7f" ;; "\df\7f" 286 "\04\74\65\73\74" ;; "test" 287 "\03" ;; GlobalImport 288 "\7f" ;; i32 289 "\00" ;; immutable 290 ) 291 "malformed UTF-8 encoding" 292 ) 293 294 ;; byte after (last) 2-byte prefix not a continuation byte 295 (assert_malformed 296 (module binary 297 "\00asm" "\01\00\00\00" 298 "\02\0c" ;; import section 299 "\01" ;; length 1 300 "\02\df\c0" ;; "\df\c0" 301 "\04\74\65\73\74" ;; "test" 302 "\03" ;; GlobalImport 303 "\7f" ;; i32 304 "\00" ;; immutable 305 ) 306 "malformed UTF-8 encoding" 307 ) 308 309 ;; byte after (last) 2-byte prefix not a continuation byte 310 (assert_malformed 311 (module binary 312 "\00asm" "\01\00\00\00" 313 "\02\0c" ;; import section 314 "\01" ;; length 1 315 "\02\df\fd" ;; "\df\fd" 316 "\04\74\65\73\74" ;; "test" 317 "\03" ;; GlobalImport 318 "\7f" ;; i32 319 "\00" ;; immutable 320 ) 321 "malformed UTF-8 encoding" 322 ) 323 324 ;;;; 3-byte sequences 325 326 ;; 3-byte sequence contains 4 bytes 327 (assert_malformed 328 (module binary 329 "\00asm" "\01\00\00\00" 330 "\02\0e" ;; import section 331 "\01" ;; length 1 332 "\04\e1\80\80\80" ;; "\e1\80\80\80" 333 "\04\74\65\73\74" ;; "test" 334 "\03" ;; GlobalImport 335 "\7f" ;; i32 336 "\00" ;; immutable 337 ) 338 "malformed UTF-8 encoding" 339 ) 340 341 ;; 3-byte sequence contains 2 bytes at end of string 342 (assert_malformed 343 (module binary 344 "\00asm" "\01\00\00\00" 345 "\02\0c" ;; import section 346 "\01" ;; length 1 347 "\02\e1\80" ;; "\e1\80" 348 "\04\74\65\73\74" ;; "test" 349 "\03" ;; GlobalImport 350 "\7f" ;; i32 351 "\00" ;; immutable 352 ) 353 "malformed UTF-8 encoding" 354 ) 355 356 ;; 3-byte sequence contains 2 bytes 357 (assert_malformed 358 (module binary 359 "\00asm" "\01\00\00\00" 360 "\02\0d" ;; import section 361 "\01" ;; length 1 362 "\03\e1\80\2e" ;; "\e1\80." 363 "\04\74\65\73\74" ;; "test" 364 "\03" ;; GlobalImport 365 "\7f" ;; i32 366 "\00" ;; immutable 367 ) 368 "malformed UTF-8 encoding" 369 ) 370 371 ;; 3-byte sequence contains 1 byte at end of string 372 (assert_malformed 373 (module binary 374 "\00asm" "\01\00\00\00" 375 "\02\0b" ;; import section 376 "\01" ;; length 1 377 "\01\e1" ;; "\e1" 378 "\04\74\65\73\74" ;; "test" 379 "\03" ;; GlobalImport 380 "\7f" ;; i32 381 "\00" ;; immutable 382 ) 383 "malformed UTF-8 encoding" 384 ) 385 386 ;; 3-byte sequence contains 1 byte 387 (assert_malformed 388 (module binary 389 "\00asm" "\01\00\00\00" 390 "\02\0c" ;; import section 391 "\01" ;; length 1 392 "\02\e1\2e" ;; "\e1." 393 "\04\74\65\73\74" ;; "test" 394 "\03" ;; GlobalImport 395 "\7f" ;; i32 396 "\00" ;; immutable 397 ) 398 "malformed UTF-8 encoding" 399 ) 400 401 ;;;; 3-byte sequence contents 402 403 ;; first byte after (0xe0) 3-byte prefix not a continuation byte 404 (assert_malformed 405 (module binary 406 "\00asm" "\01\00\00\00" 407 "\02\0d" ;; import section 408 "\01" ;; length 1 409 "\03\e0\00\a0" ;; "\e0\00\a0" 410 "\04\74\65\73\74" ;; "test" 411 "\03" ;; GlobalImport 412 "\7f" ;; i32 413 "\00" ;; immutable 414 ) 415 "malformed UTF-8 encoding" 416 ) 417 418 ;; first byte after (0xe0) 3-byte prefix not a continuation byte 419 (assert_malformed 420 (module binary 421 "\00asm" "\01\00\00\00" 422 "\02\0d" ;; import section 423 "\01" ;; length 1 424 "\03\e0\7f\a0" ;; "\e0\7f\a0" 425 "\04\74\65\73\74" ;; "test" 426 "\03" ;; GlobalImport 427 "\7f" ;; i32 428 "\00" ;; immutable 429 ) 430 "malformed UTF-8 encoding" 431 ) 432 433 ;; overlong encoding after 0xe0 prefix 434 (assert_malformed 435 (module binary 436 "\00asm" "\01\00\00\00" 437 "\02\0d" ;; import section 438 "\01" ;; length 1 439 "\03\e0\80\80" ;; "\e0\80\80" 440 "\04\74\65\73\74" ;; "test" 441 "\03" ;; GlobalImport 442 "\7f" ;; i32 443 "\00" ;; immutable 444 ) 445 "malformed UTF-8 encoding" 446 ) 447 448 ;; overlong encoding after 0xe0 prefix 449 (assert_malformed 450 (module binary 451 "\00asm" "\01\00\00\00" 452 "\02\0d" ;; import section 453 "\01" ;; length 1 454 "\03\e0\80\a0" ;; "\e0\80\a0" 455 "\04\74\65\73\74" ;; "test" 456 "\03" ;; GlobalImport 457 "\7f" ;; i32 458 "\00" ;; immutable 459 ) 460 "malformed UTF-8 encoding" 461 ) 462 463 ;; overlong encoding after 0xe0 prefix 464 (assert_malformed 465 (module binary 466 "\00asm" "\01\00\00\00" 467 "\02\0d" ;; import section 468 "\01" ;; length 1 469 "\03\e0\9f\a0" ;; "\e0\9f\a0" 470 "\04\74\65\73\74" ;; "test" 471 "\03" ;; GlobalImport 472 "\7f" ;; i32 473 "\00" ;; immutable 474 ) 475 "malformed UTF-8 encoding" 476 ) 477 478 ;; overlong encoding after 0xe0 prefix 479 (assert_malformed 480 (module binary 481 "\00asm" "\01\00\00\00" 482 "\02\0d" ;; import section 483 "\01" ;; length 1 484 "\03\e0\9f\bf" ;; "\e0\9f\bf" 485 "\04\74\65\73\74" ;; "test" 486 "\03" ;; GlobalImport 487 "\7f" ;; i32 488 "\00" ;; immutable 489 ) 490 "malformed UTF-8 encoding" 491 ) 492 493 ;; first byte after (0xe0) 3-byte prefix not a continuation byte 494 (assert_malformed 495 (module binary 496 "\00asm" "\01\00\00\00" 497 "\02\0d" ;; import section 498 "\01" ;; length 1 499 "\03\e0\c0\a0" ;; "\e0\c0\a0" 500 "\04\74\65\73\74" ;; "test" 501 "\03" ;; GlobalImport 502 "\7f" ;; i32 503 "\00" ;; immutable 504 ) 505 "malformed UTF-8 encoding" 506 ) 507 508 ;; first byte after (0xe0) 3-byte prefix not a continuation byte 509 (assert_malformed 510 (module binary 511 "\00asm" "\01\00\00\00" 512 "\02\0d" ;; import section 513 "\01" ;; length 1 514 "\03\e0\fd\a0" ;; "\e0\fd\a0" 515 "\04\74\65\73\74" ;; "test" 516 "\03" ;; GlobalImport 517 "\7f" ;; i32 518 "\00" ;; immutable 519 ) 520 "malformed UTF-8 encoding" 521 ) 522 523 ;; first byte after (first normal) 3-byte prefix not a continuation byte 524 (assert_malformed 525 (module binary 526 "\00asm" "\01\00\00\00" 527 "\02\0d" ;; import section 528 "\01" ;; length 1 529 "\03\e1\00\80" ;; "\e1\00\80" 530 "\04\74\65\73\74" ;; "test" 531 "\03" ;; GlobalImport 532 "\7f" ;; i32 533 "\00" ;; immutable 534 ) 535 "malformed UTF-8 encoding" 536 ) 537 538 ;; first byte after (first normal) 3-byte prefix not a continuation byte 539 (assert_malformed 540 (module binary 541 "\00asm" "\01\00\00\00" 542 "\02\0d" ;; import section 543 "\01" ;; length 1 544 "\03\e1\7f\80" ;; "\e1\7f\80" 545 "\04\74\65\73\74" ;; "test" 546 "\03" ;; GlobalImport 547 "\7f" ;; i32 548 "\00" ;; immutable 549 ) 550 "malformed UTF-8 encoding" 551 ) 552 553 ;; first byte after (first normal) 3-byte prefix not a continuation byte 554 (assert_malformed 555 (module binary 556 "\00asm" "\01\00\00\00" 557 "\02\0d" ;; import section 558 "\01" ;; length 1 559 "\03\e1\c0\80" ;; "\e1\c0\80" 560 "\04\74\65\73\74" ;; "test" 561 "\03" ;; GlobalImport 562 "\7f" ;; i32 563 "\00" ;; immutable 564 ) 565 "malformed UTF-8 encoding" 566 ) 567 568 ;; first byte after (first normal) 3-byte prefix not a continuation byte 569 (assert_malformed 570 (module binary 571 "\00asm" "\01\00\00\00" 572 "\02\0d" ;; import section 573 "\01" ;; length 1 574 "\03\e1\fd\80" ;; "\e1\fd\80" 575 "\04\74\65\73\74" ;; "test" 576 "\03" ;; GlobalImport 577 "\7f" ;; i32 578 "\00" ;; immutable 579 ) 580 "malformed UTF-8 encoding" 581 ) 582 583 ;; first byte after (normal) 3-byte prefix not a continuation byte 584 (assert_malformed 585 (module binary 586 "\00asm" "\01\00\00\00" 587 "\02\0d" ;; import section 588 "\01" ;; length 1 589 "\03\ec\00\80" ;; "\ec\00\80" 590 "\04\74\65\73\74" ;; "test" 591 "\03" ;; GlobalImport 592 "\7f" ;; i32 593 "\00" ;; immutable 594 ) 595 "malformed UTF-8 encoding" 596 ) 597 598 ;; first byte after (normal) 3-byte prefix not a continuation byte 599 (assert_malformed 600 (module binary 601 "\00asm" "\01\00\00\00" 602 "\02\0d" ;; import section 603 "\01" ;; length 1 604 "\03\ec\7f\80" ;; "\ec\7f\80" 605 "\04\74\65\73\74" ;; "test" 606 "\03" ;; GlobalImport 607 "\7f" ;; i32 608 "\00" ;; immutable 609 ) 610 "malformed UTF-8 encoding" 611 ) 612 613 ;; first byte after (normal) 3-byte prefix not a continuation byte 614 (assert_malformed 615 (module binary 616 "\00asm" "\01\00\00\00" 617 "\02\0d" ;; import section 618 "\01" ;; length 1 619 "\03\ec\c0\80" ;; "\ec\c0\80" 620 "\04\74\65\73\74" ;; "test" 621 "\03" ;; GlobalImport 622 "\7f" ;; i32 623 "\00" ;; immutable 624 ) 625 "malformed UTF-8 encoding" 626 ) 627 628 ;; first byte after (normal) 3-byte prefix not a continuation byte 629 (assert_malformed 630 (module binary 631 "\00asm" "\01\00\00\00" 632 "\02\0d" ;; import section 633 "\01" ;; length 1 634 "\03\ec\fd\80" ;; "\ec\fd\80" 635 "\04\74\65\73\74" ;; "test" 636 "\03" ;; GlobalImport 637 "\7f" ;; i32 638 "\00" ;; immutable 639 ) 640 "malformed UTF-8 encoding" 641 ) 642 643 ;; first byte after (0xed) 3-byte prefix not a continuation byte 644 (assert_malformed 645 (module binary 646 "\00asm" "\01\00\00\00" 647 "\02\0d" ;; import section 648 "\01" ;; length 1 649 "\03\ed\00\80" ;; "\ed\00\80" 650 "\04\74\65\73\74" ;; "test" 651 "\03" ;; GlobalImport 652 "\7f" ;; i32 653 "\00" ;; immutable 654 ) 655 "malformed UTF-8 encoding" 656 ) 657 658 ;; first byte after (0xed) 3-byte prefix not a continuation byte 659 (assert_malformed 660 (module binary 661 "\00asm" "\01\00\00\00" 662 "\02\0d" ;; import section 663 "\01" ;; length 1 664 "\03\ed\7f\80" ;; "\ed\7f\80" 665 "\04\74\65\73\74" ;; "test" 666 "\03" ;; GlobalImport 667 "\7f" ;; i32 668 "\00" ;; immutable 669 ) 670 "malformed UTF-8 encoding" 671 ) 672 673 ;; byte sequence reserved for UTF-16 surrogate half 674 (assert_malformed 675 (module binary 676 "\00asm" "\01\00\00\00" 677 "\02\0d" ;; import section 678 "\01" ;; length 1 679 "\03\ed\a0\80" ;; "\ed\a0\80" 680 "\04\74\65\73\74" ;; "test" 681 "\03" ;; GlobalImport 682 "\7f" ;; i32 683 "\00" ;; immutable 684 ) 685 "malformed UTF-8 encoding" 686 ) 687 688 ;; byte sequence reserved for UTF-16 surrogate half 689 (assert_malformed 690 (module binary 691 "\00asm" "\01\00\00\00" 692 "\02\0d" ;; import section 693 "\01" ;; length 1 694 "\03\ed\a0\bf" ;; "\ed\a0\bf" 695 "\04\74\65\73\74" ;; "test" 696 "\03" ;; GlobalImport 697 "\7f" ;; i32 698 "\00" ;; immutable 699 ) 700 "malformed UTF-8 encoding" 701 ) 702 703 ;; byte sequence reserved for UTF-16 surrogate half 704 (assert_malformed 705 (module binary 706 "\00asm" "\01\00\00\00" 707 "\02\0d" ;; import section 708 "\01" ;; length 1 709 "\03\ed\bf\80" ;; "\ed\bf\80" 710 "\04\74\65\73\74" ;; "test" 711 "\03" ;; GlobalImport 712 "\7f" ;; i32 713 "\00" ;; immutable 714 ) 715 "malformed UTF-8 encoding" 716 ) 717 718 ;; byte sequence reserved for UTF-16 surrogate half 719 (assert_malformed 720 (module binary 721 "\00asm" "\01\00\00\00" 722 "\02\0d" ;; import section 723 "\01" ;; length 1 724 "\03\ed\bf\bf" ;; "\ed\bf\bf" 725 "\04\74\65\73\74" ;; "test" 726 "\03" ;; GlobalImport 727 "\7f" ;; i32 728 "\00" ;; immutable 729 ) 730 "malformed UTF-8 encoding" 731 ) 732 733 ;; first byte after (0xed) 3-byte prefix not a continuation byte 734 (assert_malformed 735 (module binary 736 "\00asm" "\01\00\00\00" 737 "\02\0d" ;; import section 738 "\01" ;; length 1 739 "\03\ed\c0\80" ;; "\ed\c0\80" 740 "\04\74\65\73\74" ;; "test" 741 "\03" ;; GlobalImport 742 "\7f" ;; i32 743 "\00" ;; immutable 744 ) 745 "malformed UTF-8 encoding" 746 ) 747 748 ;; first byte after (0xed) 3-byte prefix not a continuation byte 749 (assert_malformed 750 (module binary 751 "\00asm" "\01\00\00\00" 752 "\02\0d" ;; import section 753 "\01" ;; length 1 754 "\03\ed\fd\80" ;; "\ed\fd\80" 755 "\04\74\65\73\74" ;; "test" 756 "\03" ;; GlobalImport 757 "\7f" ;; i32 758 "\00" ;; immutable 759 ) 760 "malformed UTF-8 encoding" 761 ) 762 763 ;; first byte after (normal) 3-byte prefix not a continuation byte 764 (assert_malformed 765 (module binary 766 "\00asm" "\01\00\00\00" 767 "\02\0d" ;; import section 768 "\01" ;; length 1 769 "\03\ee\00\80" ;; "\ee\00\80" 770 "\04\74\65\73\74" ;; "test" 771 "\03" ;; GlobalImport 772 "\7f" ;; i32 773 "\00" ;; immutable 774 ) 775 "malformed UTF-8 encoding" 776 ) 777 778 ;; first byte after (normal) 3-byte prefix not a continuation byte 779 (assert_malformed 780 (module binary 781 "\00asm" "\01\00\00\00" 782 "\02\0d" ;; import section 783 "\01" ;; length 1 784 "\03\ee\7f\80" ;; "\ee\7f\80" 785 "\04\74\65\73\74" ;; "test" 786 "\03" ;; GlobalImport 787 "\7f" ;; i32 788 "\00" ;; immutable 789 ) 790 "malformed UTF-8 encoding" 791 ) 792 793 ;; first byte after (normal) 3-byte prefix not a continuation byte 794 (assert_malformed 795 (module binary 796 "\00asm" "\01\00\00\00" 797 "\02\0d" ;; import section 798 "\01" ;; length 1 799 "\03\ee\c0\80" ;; "\ee\c0\80" 800 "\04\74\65\73\74" ;; "test" 801 "\03" ;; GlobalImport 802 "\7f" ;; i32 803 "\00" ;; immutable 804 ) 805 "malformed UTF-8 encoding" 806 ) 807 808 ;; first byte after (normal) 3-byte prefix not a continuation byte 809 (assert_malformed 810 (module binary 811 "\00asm" "\01\00\00\00" 812 "\02\0d" ;; import section 813 "\01" ;; length 1 814 "\03\ee\fd\80" ;; "\ee\fd\80" 815 "\04\74\65\73\74" ;; "test" 816 "\03" ;; GlobalImport 817 "\7f" ;; i32 818 "\00" ;; immutable 819 ) 820 "malformed UTF-8 encoding" 821 ) 822 823 ;; first byte after (last normal) 3-byte prefix not a continuation byte 824 (assert_malformed 825 (module binary 826 "\00asm" "\01\00\00\00" 827 "\02\0d" ;; import section 828 "\01" ;; length 1 829 "\03\ef\00\80" ;; "\ef\00\80" 830 "\04\74\65\73\74" ;; "test" 831 "\03" ;; GlobalImport 832 "\7f" ;; i32 833 "\00" ;; immutable 834 ) 835 "malformed UTF-8 encoding" 836 ) 837 838 ;; first byte after (last normal) 3-byte prefix not a continuation byte 839 (assert_malformed 840 (module binary 841 "\00asm" "\01\00\00\00" 842 "\02\0d" ;; import section 843 "\01" ;; length 1 844 "\03\ef\7f\80" ;; "\ef\7f\80" 845 "\04\74\65\73\74" ;; "test" 846 "\03" ;; GlobalImport 847 "\7f" ;; i32 848 "\00" ;; immutable 849 ) 850 "malformed UTF-8 encoding" 851 ) 852 853 ;; first byte after (last normal) 3-byte prefix not a continuation byte 854 (assert_malformed 855 (module binary 856 "\00asm" "\01\00\00\00" 857 "\02\0d" ;; import section 858 "\01" ;; length 1 859 "\03\ef\c0\80" ;; "\ef\c0\80" 860 "\04\74\65\73\74" ;; "test" 861 "\03" ;; GlobalImport 862 "\7f" ;; i32 863 "\00" ;; immutable 864 ) 865 "malformed UTF-8 encoding" 866 ) 867 868 ;; first byte after (last normal) 3-byte prefix not a continuation byte 869 (assert_malformed 870 (module binary 871 "\00asm" "\01\00\00\00" 872 "\02\0d" ;; import section 873 "\01" ;; length 1 874 "\03\ef\fd\80" ;; "\ef\fd\80" 875 "\04\74\65\73\74" ;; "test" 876 "\03" ;; GlobalImport 877 "\7f" ;; i32 878 "\00" ;; immutable 879 ) 880 "malformed UTF-8 encoding" 881 ) 882 883 ;;;; 3-byte sequence contents (third byte) 884 885 ;; second byte after (0xe0) 3-byte prefix not a continuation byte 886 (assert_malformed 887 (module binary 888 "\00asm" "\01\00\00\00" 889 "\02\0d" ;; import section 890 "\01" ;; length 1 891 "\03\e0\a0\00" ;; "\e0\a0\00" 892 "\04\74\65\73\74" ;; "test" 893 "\03" ;; GlobalImport 894 "\7f" ;; i32 895 "\00" ;; immutable 896 ) 897 "malformed UTF-8 encoding" 898 ) 899 900 ;; second byte after (0xe0) 3-byte prefix not a continuation byte 901 (assert_malformed 902 (module binary 903 "\00asm" "\01\00\00\00" 904 "\02\0d" ;; import section 905 "\01" ;; length 1 906 "\03\e0\a0\7f" ;; "\e0\a0\7f" 907 "\04\74\65\73\74" ;; "test" 908 "\03" ;; GlobalImport 909 "\7f" ;; i32 910 "\00" ;; immutable 911 ) 912 "malformed UTF-8 encoding" 913 ) 914 915 ;; second byte after (0xe0) 3-byte prefix not a continuation byte 916 (assert_malformed 917 (module binary 918 "\00asm" "\01\00\00\00" 919 "\02\0d" ;; import section 920 "\01" ;; length 1 921 "\03\e0\a0\c0" ;; "\e0\a0\c0" 922 "\04\74\65\73\74" ;; "test" 923 "\03" ;; GlobalImport 924 "\7f" ;; i32 925 "\00" ;; immutable 926 ) 927 "malformed UTF-8 encoding" 928 ) 929 930 ;; second byte after (0xe0) 3-byte prefix not a continuation byte 931 (assert_malformed 932 (module binary 933 "\00asm" "\01\00\00\00" 934 "\02\0d" ;; import section 935 "\01" ;; length 1 936 "\03\e0\a0\fd" ;; "\e0\a0\fd" 937 "\04\74\65\73\74" ;; "test" 938 "\03" ;; GlobalImport 939 "\7f" ;; i32 940 "\00" ;; immutable 941 ) 942 "malformed UTF-8 encoding" 943 ) 944 945 ;; second byte after (first normal) 3-byte prefix not a continuation byte 946 (assert_malformed 947 (module binary 948 "\00asm" "\01\00\00\00" 949 "\02\0d" ;; import section 950 "\01" ;; length 1 951 "\03\e1\80\00" ;; "\e1\80\00" 952 "\04\74\65\73\74" ;; "test" 953 "\03" ;; GlobalImport 954 "\7f" ;; i32 955 "\00" ;; immutable 956 ) 957 "malformed UTF-8 encoding" 958 ) 959 960 ;; second byte after (first normal) 3-byte prefix not a continuation byte 961 (assert_malformed 962 (module binary 963 "\00asm" "\01\00\00\00" 964 "\02\0d" ;; import section 965 "\01" ;; length 1 966 "\03\e1\80\7f" ;; "\e1\80\7f" 967 "\04\74\65\73\74" ;; "test" 968 "\03" ;; GlobalImport 969 "\7f" ;; i32 970 "\00" ;; immutable 971 ) 972 "malformed UTF-8 encoding" 973 ) 974 975 ;; second byte after (first normal) 3-byte prefix not a continuation byte 976 (assert_malformed 977 (module binary 978 "\00asm" "\01\00\00\00" 979 "\02\0d" ;; import section 980 "\01" ;; length 1 981 "\03\e1\80\c0" ;; "\e1\80\c0" 982 "\04\74\65\73\74" ;; "test" 983 "\03" ;; GlobalImport 984 "\7f" ;; i32 985 "\00" ;; immutable 986 ) 987 "malformed UTF-8 encoding" 988 ) 989 990 ;; second byte after (first normal) 3-byte prefix not a continuation byte 991 (assert_malformed 992 (module binary 993 "\00asm" "\01\00\00\00" 994 "\02\0d" ;; import section 995 "\01" ;; length 1 996 "\03\e1\80\fd" ;; "\e1\80\fd" 997 "\04\74\65\73\74" ;; "test" 998 "\03" ;; GlobalImport 999 "\7f" ;; i32 1000 "\00" ;; immutable 1001 ) 1002 "malformed UTF-8 encoding" 1003 ) 1004 1005 ;; second byte after (normal) 3-byte prefix not a continuation byte 1006 (assert_malformed 1007 (module binary 1008 "\00asm" "\01\00\00\00" 1009 "\02\0d" ;; import section 1010 "\01" ;; length 1 1011 "\03\ec\80\00" ;; "\ec\80\00" 1012 "\04\74\65\73\74" ;; "test" 1013 "\03" ;; GlobalImport 1014 "\7f" ;; i32 1015 "\00" ;; immutable 1016 ) 1017 "malformed UTF-8 encoding" 1018 ) 1019 1020 ;; second byte after (normal) 3-byte prefix not a continuation byte 1021 (assert_malformed 1022 (module binary 1023 "\00asm" "\01\00\00\00" 1024 "\02\0d" ;; import section 1025 "\01" ;; length 1 1026 "\03\ec\80\7f" ;; "\ec\80\7f" 1027 "\04\74\65\73\74" ;; "test" 1028 "\03" ;; GlobalImport 1029 "\7f" ;; i32 1030 "\00" ;; immutable 1031 ) 1032 "malformed UTF-8 encoding" 1033 ) 1034 1035 ;; second byte after (normal) 3-byte prefix not a continuation byte 1036 (assert_malformed 1037 (module binary 1038 "\00asm" "\01\00\00\00" 1039 "\02\0d" ;; import section 1040 "\01" ;; length 1 1041 "\03\ec\80\c0" ;; "\ec\80\c0" 1042 "\04\74\65\73\74" ;; "test" 1043 "\03" ;; GlobalImport 1044 "\7f" ;; i32 1045 "\00" ;; immutable 1046 ) 1047 "malformed UTF-8 encoding" 1048 ) 1049 1050 ;; second byte after (normal) 3-byte prefix not a continuation byte 1051 (assert_malformed 1052 (module binary 1053 "\00asm" "\01\00\00\00" 1054 "\02\0d" ;; import section 1055 "\01" ;; length 1 1056 "\03\ec\80\fd" ;; "\ec\80\fd" 1057 "\04\74\65\73\74" ;; "test" 1058 "\03" ;; GlobalImport 1059 "\7f" ;; i32 1060 "\00" ;; immutable 1061 ) 1062 "malformed UTF-8 encoding" 1063 ) 1064 1065 ;; second byte after (0xed) 3-byte prefix not a continuation byte 1066 (assert_malformed 1067 (module binary 1068 "\00asm" "\01\00\00\00" 1069 "\02\0d" ;; import section 1070 "\01" ;; length 1 1071 "\03\ed\80\00" ;; "\ed\80\00" 1072 "\04\74\65\73\74" ;; "test" 1073 "\03" ;; GlobalImport 1074 "\7f" ;; i32 1075 "\00" ;; immutable 1076 ) 1077 "malformed UTF-8 encoding" 1078 ) 1079 1080 ;; second byte after (0xed) 3-byte prefix not a continuation byte 1081 (assert_malformed 1082 (module binary 1083 "\00asm" "\01\00\00\00" 1084 "\02\0d" ;; import section 1085 "\01" ;; length 1 1086 "\03\ed\80\7f" ;; "\ed\80\7f" 1087 "\04\74\65\73\74" ;; "test" 1088 "\03" ;; GlobalImport 1089 "\7f" ;; i32 1090 "\00" ;; immutable 1091 ) 1092 "malformed UTF-8 encoding" 1093 ) 1094 1095 ;; second byte after (0xed) 3-byte prefix not a continuation byte 1096 (assert_malformed 1097 (module binary 1098 "\00asm" "\01\00\00\00" 1099 "\02\0d" ;; import section 1100 "\01" ;; length 1 1101 "\03\ed\80\c0" ;; "\ed\80\c0" 1102 "\04\74\65\73\74" ;; "test" 1103 "\03" ;; GlobalImport 1104 "\7f" ;; i32 1105 "\00" ;; immutable 1106 ) 1107 "malformed UTF-8 encoding" 1108 ) 1109 1110 ;; second byte after (0xed) 3-byte prefix not a continuation byte 1111 (assert_malformed 1112 (module binary 1113 "\00asm" "\01\00\00\00" 1114 "\02\0d" ;; import section 1115 "\01" ;; length 1 1116 "\03\ed\80\fd" ;; "\ed\80\fd" 1117 "\04\74\65\73\74" ;; "test" 1118 "\03" ;; GlobalImport 1119 "\7f" ;; i32 1120 "\00" ;; immutable 1121 ) 1122 "malformed UTF-8 encoding" 1123 ) 1124 1125 ;; second byte after (normal) 3-byte prefix not a continuation byte 1126 (assert_malformed 1127 (module binary 1128 "\00asm" "\01\00\00\00" 1129 "\02\0d" ;; import section 1130 "\01" ;; length 1 1131 "\03\ee\80\00" ;; "\ee\80\00" 1132 "\04\74\65\73\74" ;; "test" 1133 "\03" ;; GlobalImport 1134 "\7f" ;; i32 1135 "\00" ;; immutable 1136 ) 1137 "malformed UTF-8 encoding" 1138 ) 1139 1140 ;; second byte after (normal) 3-byte prefix not a continuation byte 1141 (assert_malformed 1142 (module binary 1143 "\00asm" "\01\00\00\00" 1144 "\02\0d" ;; import section 1145 "\01" ;; length 1 1146 "\03\ee\80\7f" ;; "\ee\80\7f" 1147 "\04\74\65\73\74" ;; "test" 1148 "\03" ;; GlobalImport 1149 "\7f" ;; i32 1150 "\00" ;; immutable 1151 ) 1152 "malformed UTF-8 encoding" 1153 ) 1154 1155 ;; second byte after (normal) 3-byte prefix not a continuation byte 1156 (assert_malformed 1157 (module binary 1158 "\00asm" "\01\00\00\00" 1159 "\02\0d" ;; import section 1160 "\01" ;; length 1 1161 "\03\ee\80\c0" ;; "\ee\80\c0" 1162 "\04\74\65\73\74" ;; "test" 1163 "\03" ;; GlobalImport 1164 "\7f" ;; i32 1165 "\00" ;; immutable 1166 ) 1167 "malformed UTF-8 encoding" 1168 ) 1169 1170 ;; second byte after (normal) 3-byte prefix not a continuation byte 1171 (assert_malformed 1172 (module binary 1173 "\00asm" "\01\00\00\00" 1174 "\02\0d" ;; import section 1175 "\01" ;; length 1 1176 "\03\ee\80\fd" ;; "\ee\80\fd" 1177 "\04\74\65\73\74" ;; "test" 1178 "\03" ;; GlobalImport 1179 "\7f" ;; i32 1180 "\00" ;; immutable 1181 ) 1182 "malformed UTF-8 encoding" 1183 ) 1184 1185 ;; second byte after (last normal) 3-byte prefix not a continuation byte 1186 (assert_malformed 1187 (module binary 1188 "\00asm" "\01\00\00\00" 1189 "\02\0d" ;; import section 1190 "\01" ;; length 1 1191 "\03\ef\80\00" ;; "\ef\80\00" 1192 "\04\74\65\73\74" ;; "test" 1193 "\03" ;; GlobalImport 1194 "\7f" ;; i32 1195 "\00" ;; immutable 1196 ) 1197 "malformed UTF-8 encoding" 1198 ) 1199 1200 ;; second byte after (last normal) 3-byte prefix not a continuation byte 1201 (assert_malformed 1202 (module binary 1203 "\00asm" "\01\00\00\00" 1204 "\02\0d" ;; import section 1205 "\01" ;; length 1 1206 "\03\ef\80\7f" ;; "\ef\80\7f" 1207 "\04\74\65\73\74" ;; "test" 1208 "\03" ;; GlobalImport 1209 "\7f" ;; i32 1210 "\00" ;; immutable 1211 ) 1212 "malformed UTF-8 encoding" 1213 ) 1214 1215 ;; second byte after (last normal) 3-byte prefix not a continuation byte 1216 (assert_malformed 1217 (module binary 1218 "\00asm" "\01\00\00\00" 1219 "\02\0d" ;; import section 1220 "\01" ;; length 1 1221 "\03\ef\80\c0" ;; "\ef\80\c0" 1222 "\04\74\65\73\74" ;; "test" 1223 "\03" ;; GlobalImport 1224 "\7f" ;; i32 1225 "\00" ;; immutable 1226 ) 1227 "malformed UTF-8 encoding" 1228 ) 1229 1230 ;; second byte after (last normal) 3-byte prefix not a continuation byte 1231 (assert_malformed 1232 (module binary 1233 "\00asm" "\01\00\00\00" 1234 "\02\0d" ;; import section 1235 "\01" ;; length 1 1236 "\03\ef\80\fd" ;; "\ef\80\fd" 1237 "\04\74\65\73\74" ;; "test" 1238 "\03" ;; GlobalImport 1239 "\7f" ;; i32 1240 "\00" ;; immutable 1241 ) 1242 "malformed UTF-8 encoding" 1243 ) 1244 1245 ;;;; 4-byte sequences 1246 1247 ;; 4-byte sequence contains 5 bytes 1248 (assert_malformed 1249 (module binary 1250 "\00asm" "\01\00\00\00" 1251 "\02\0f" ;; import section 1252 "\01" ;; length 1 1253 "\05\f1\80\80\80\80" ;; "\f1\80\80\80\80" 1254 "\04\74\65\73\74" ;; "test" 1255 "\03" ;; GlobalImport 1256 "\7f" ;; i32 1257 "\00" ;; immutable 1258 ) 1259 "malformed UTF-8 encoding" 1260 ) 1261 1262 ;; 4-byte sequence contains 3 bytes at end of string 1263 (assert_malformed 1264 (module binary 1265 "\00asm" "\01\00\00\00" 1266 "\02\0d" ;; import section 1267 "\01" ;; length 1 1268 "\03\f1\80\80" ;; "\f1\80\80" 1269 "\04\74\65\73\74" ;; "test" 1270 "\03" ;; GlobalImport 1271 "\7f" ;; i32 1272 "\00" ;; immutable 1273 ) 1274 "malformed UTF-8 encoding" 1275 ) 1276 1277 ;; 4-byte sequence contains 3 bytes 1278 (assert_malformed 1279 (module binary 1280 "\00asm" "\01\00\00\00" 1281 "\02\0e" ;; import section 1282 "\01" ;; length 1 1283 "\04\f1\80\80\23" ;; "\f1\80\80#" 1284 "\04\74\65\73\74" ;; "test" 1285 "\03" ;; GlobalImport 1286 "\7f" ;; i32 1287 "\00" ;; immutable 1288 ) 1289 "malformed UTF-8 encoding" 1290 ) 1291 1292 ;; 4-byte sequence contains 2 bytes at end of string 1293 (assert_malformed 1294 (module binary 1295 "\00asm" "\01\00\00\00" 1296 "\02\0c" ;; import section 1297 "\01" ;; length 1 1298 "\02\f1\80" ;; "\f1\80" 1299 "\04\74\65\73\74" ;; "test" 1300 "\03" ;; GlobalImport 1301 "\7f" ;; i32 1302 "\00" ;; immutable 1303 ) 1304 "malformed UTF-8 encoding" 1305 ) 1306 1307 ;; 4-byte sequence contains 2 bytes 1308 (assert_malformed 1309 (module binary 1310 "\00asm" "\01\00\00\00" 1311 "\02\0d" ;; import section 1312 "\01" ;; length 1 1313 "\03\f1\80\23" ;; "\f1\80#" 1314 "\04\74\65\73\74" ;; "test" 1315 "\03" ;; GlobalImport 1316 "\7f" ;; i32 1317 "\00" ;; immutable 1318 ) 1319 "malformed UTF-8 encoding" 1320 ) 1321 1322 ;; 4-byte sequence contains 1 byte at end of string 1323 (assert_malformed 1324 (module binary 1325 "\00asm" "\01\00\00\00" 1326 "\02\0b" ;; import section 1327 "\01" ;; length 1 1328 "\01\f1" ;; "\f1" 1329 "\04\74\65\73\74" ;; "test" 1330 "\03" ;; GlobalImport 1331 "\7f" ;; i32 1332 "\00" ;; immutable 1333 ) 1334 "malformed UTF-8 encoding" 1335 ) 1336 1337 ;; 4-byte sequence contains 1 byte 1338 (assert_malformed 1339 (module binary 1340 "\00asm" "\01\00\00\00" 1341 "\02\0c" ;; import section 1342 "\01" ;; length 1 1343 "\02\f1\23" ;; "\f1#" 1344 "\04\74\65\73\74" ;; "test" 1345 "\03" ;; GlobalImport 1346 "\7f" ;; i32 1347 "\00" ;; immutable 1348 ) 1349 "malformed UTF-8 encoding" 1350 ) 1351 1352 ;;;; 4-byte sequence contents 1353 1354 ;; first byte after (0xf0) 4-byte prefix not a continuation byte 1355 (assert_malformed 1356 (module binary 1357 "\00asm" "\01\00\00\00" 1358 "\02\0e" ;; import section 1359 "\01" ;; length 1 1360 "\04\f0\00\90\90" ;; "\f0\00\90\90" 1361 "\04\74\65\73\74" ;; "test" 1362 "\03" ;; GlobalImport 1363 "\7f" ;; i32 1364 "\00" ;; immutable 1365 ) 1366 "malformed UTF-8 encoding" 1367 ) 1368 1369 ;; first byte after (0xf0) 4-byte prefix not a continuation byte 1370 (assert_malformed 1371 (module binary 1372 "\00asm" "\01\00\00\00" 1373 "\02\0e" ;; import section 1374 "\01" ;; length 1 1375 "\04\f0\7f\90\90" ;; "\f0\7f\90\90" 1376 "\04\74\65\73\74" ;; "test" 1377 "\03" ;; GlobalImport 1378 "\7f" ;; i32 1379 "\00" ;; immutable 1380 ) 1381 "malformed UTF-8 encoding" 1382 ) 1383 1384 ;; overlong encoding after 0xf0 prefix 1385 (assert_malformed 1386 (module binary 1387 "\00asm" "\01\00\00\00" 1388 "\02\0e" ;; import section 1389 "\01" ;; length 1 1390 "\04\f0\80\80\80" ;; "\f0\80\80\80" 1391 "\04\74\65\73\74" ;; "test" 1392 "\03" ;; GlobalImport 1393 "\7f" ;; i32 1394 "\00" ;; immutable 1395 ) 1396 "malformed UTF-8 encoding" 1397 ) 1398 1399 ;; overlong encoding after 0xf0 prefix 1400 (assert_malformed 1401 (module binary 1402 "\00asm" "\01\00\00\00" 1403 "\02\0e" ;; import section 1404 "\01" ;; length 1 1405 "\04\f0\80\90\90" ;; "\f0\80\90\90" 1406 "\04\74\65\73\74" ;; "test" 1407 "\03" ;; GlobalImport 1408 "\7f" ;; i32 1409 "\00" ;; immutable 1410 ) 1411 "malformed UTF-8 encoding" 1412 ) 1413 1414 ;; overlong encoding after 0xf0 prefix 1415 (assert_malformed 1416 (module binary 1417 "\00asm" "\01\00\00\00" 1418 "\02\0e" ;; import section 1419 "\01" ;; length 1 1420 "\04\f0\8f\90\90" ;; "\f0\8f\90\90" 1421 "\04\74\65\73\74" ;; "test" 1422 "\03" ;; GlobalImport 1423 "\7f" ;; i32 1424 "\00" ;; immutable 1425 ) 1426 "malformed UTF-8 encoding" 1427 ) 1428 1429 ;; overlong encoding after 0xf0 prefix 1430 (assert_malformed 1431 (module binary 1432 "\00asm" "\01\00\00\00" 1433 "\02\0e" ;; import section 1434 "\01" ;; length 1 1435 "\04\f0\8f\bf\bf" ;; "\f0\8f\bf\bf" 1436 "\04\74\65\73\74" ;; "test" 1437 "\03" ;; GlobalImport 1438 "\7f" ;; i32 1439 "\00" ;; immutable 1440 ) 1441 "malformed UTF-8 encoding" 1442 ) 1443 1444 ;; first byte after (0xf0) 4-byte prefix not a continuation byte 1445 (assert_malformed 1446 (module binary 1447 "\00asm" "\01\00\00\00" 1448 "\02\0e" ;; import section 1449 "\01" ;; length 1 1450 "\04\f0\c0\90\90" ;; "\f0\c0\90\90" 1451 "\04\74\65\73\74" ;; "test" 1452 "\03" ;; GlobalImport 1453 "\7f" ;; i32 1454 "\00" ;; immutable 1455 ) 1456 "malformed UTF-8 encoding" 1457 ) 1458 1459 ;; first byte after (0xf0) 4-byte prefix not a continuation byte 1460 (assert_malformed 1461 (module binary 1462 "\00asm" "\01\00\00\00" 1463 "\02\0e" ;; import section 1464 "\01" ;; length 1 1465 "\04\f0\fd\90\90" ;; "\f0\fd\90\90" 1466 "\04\74\65\73\74" ;; "test" 1467 "\03" ;; GlobalImport 1468 "\7f" ;; i32 1469 "\00" ;; immutable 1470 ) 1471 "malformed UTF-8 encoding" 1472 ) 1473 1474 ;; first byte after (first normal) 4-byte prefix not a continuation byte 1475 (assert_malformed 1476 (module binary 1477 "\00asm" "\01\00\00\00" 1478 "\02\0e" ;; import section 1479 "\01" ;; length 1 1480 "\04\f1\00\80\80" ;; "\f1\00\80\80" 1481 "\04\74\65\73\74" ;; "test" 1482 "\03" ;; GlobalImport 1483 "\7f" ;; i32 1484 "\00" ;; immutable 1485 ) 1486 "malformed UTF-8 encoding" 1487 ) 1488 1489 ;; first byte after (first normal) 4-byte prefix not a continuation byte 1490 (assert_malformed 1491 (module binary 1492 "\00asm" "\01\00\00\00" 1493 "\02\0e" ;; import section 1494 "\01" ;; length 1 1495 "\04\f1\7f\80\80" ;; "\f1\7f\80\80" 1496 "\04\74\65\73\74" ;; "test" 1497 "\03" ;; GlobalImport 1498 "\7f" ;; i32 1499 "\00" ;; immutable 1500 ) 1501 "malformed UTF-8 encoding" 1502 ) 1503 1504 ;; first byte after (first normal) 4-byte prefix not a continuation byte 1505 (assert_malformed 1506 (module binary 1507 "\00asm" "\01\00\00\00" 1508 "\02\0e" ;; import section 1509 "\01" ;; length 1 1510 "\04\f1\c0\80\80" ;; "\f1\c0\80\80" 1511 "\04\74\65\73\74" ;; "test" 1512 "\03" ;; GlobalImport 1513 "\7f" ;; i32 1514 "\00" ;; immutable 1515 ) 1516 "malformed UTF-8 encoding" 1517 ) 1518 1519 ;; first byte after (first normal) 4-byte prefix not a continuation byte 1520 (assert_malformed 1521 (module binary 1522 "\00asm" "\01\00\00\00" 1523 "\02\0e" ;; import section 1524 "\01" ;; length 1 1525 "\04\f1\fd\80\80" ;; "\f1\fd\80\80" 1526 "\04\74\65\73\74" ;; "test" 1527 "\03" ;; GlobalImport 1528 "\7f" ;; i32 1529 "\00" ;; immutable 1530 ) 1531 "malformed UTF-8 encoding" 1532 ) 1533 1534 ;; first byte after (last normal) 4-byte prefix not a continuation byte 1535 (assert_malformed 1536 (module binary 1537 "\00asm" "\01\00\00\00" 1538 "\02\0e" ;; import section 1539 "\01" ;; length 1 1540 "\04\f3\00\80\80" ;; "\f3\00\80\80" 1541 "\04\74\65\73\74" ;; "test" 1542 "\03" ;; GlobalImport 1543 "\7f" ;; i32 1544 "\00" ;; immutable 1545 ) 1546 "malformed UTF-8 encoding" 1547 ) 1548 1549 ;; first byte after (last normal) 4-byte prefix not a continuation byte 1550 (assert_malformed 1551 (module binary 1552 "\00asm" "\01\00\00\00" 1553 "\02\0e" ;; import section 1554 "\01" ;; length 1 1555 "\04\f3\7f\80\80" ;; "\f3\7f\80\80" 1556 "\04\74\65\73\74" ;; "test" 1557 "\03" ;; GlobalImport 1558 "\7f" ;; i32 1559 "\00" ;; immutable 1560 ) 1561 "malformed UTF-8 encoding" 1562 ) 1563 1564 ;; first byte after (last normal) 4-byte prefix not a continuation byte 1565 (assert_malformed 1566 (module binary 1567 "\00asm" "\01\00\00\00" 1568 "\02\0e" ;; import section 1569 "\01" ;; length 1 1570 "\04\f3\c0\80\80" ;; "\f3\c0\80\80" 1571 "\04\74\65\73\74" ;; "test" 1572 "\03" ;; GlobalImport 1573 "\7f" ;; i32 1574 "\00" ;; immutable 1575 ) 1576 "malformed UTF-8 encoding" 1577 ) 1578 1579 ;; first byte after (last normal) 4-byte prefix not a continuation byte 1580 (assert_malformed 1581 (module binary 1582 "\00asm" "\01\00\00\00" 1583 "\02\0e" ;; import section 1584 "\01" ;; length 1 1585 "\04\f3\fd\80\80" ;; "\f3\fd\80\80" 1586 "\04\74\65\73\74" ;; "test" 1587 "\03" ;; GlobalImport 1588 "\7f" ;; i32 1589 "\00" ;; immutable 1590 ) 1591 "malformed UTF-8 encoding" 1592 ) 1593 1594 ;; first byte after (0xf4) 4-byte prefix not a continuation byte 1595 (assert_malformed 1596 (module binary 1597 "\00asm" "\01\00\00\00" 1598 "\02\0e" ;; import section 1599 "\01" ;; length 1 1600 "\04\f4\00\80\80" ;; "\f4\00\80\80" 1601 "\04\74\65\73\74" ;; "test" 1602 "\03" ;; GlobalImport 1603 "\7f" ;; i32 1604 "\00" ;; immutable 1605 ) 1606 "malformed UTF-8 encoding" 1607 ) 1608 1609 ;; first byte after (0xf4) 4-byte prefix not a continuation byte 1610 (assert_malformed 1611 (module binary 1612 "\00asm" "\01\00\00\00" 1613 "\02\0e" ;; import section 1614 "\01" ;; length 1 1615 "\04\f4\7f\80\80" ;; "\f4\7f\80\80" 1616 "\04\74\65\73\74" ;; "test" 1617 "\03" ;; GlobalImport 1618 "\7f" ;; i32 1619 "\00" ;; immutable 1620 ) 1621 "malformed UTF-8 encoding" 1622 ) 1623 1624 ;; (first) malformed code point 1625 (assert_malformed 1626 (module binary 1627 "\00asm" "\01\00\00\00" 1628 "\02\0e" ;; import section 1629 "\01" ;; length 1 1630 "\04\f4\90\80\80" ;; "\f4\90\80\80" 1631 "\04\74\65\73\74" ;; "test" 1632 "\03" ;; GlobalImport 1633 "\7f" ;; i32 1634 "\00" ;; immutable 1635 ) 1636 "malformed UTF-8 encoding" 1637 ) 1638 1639 ;; malformed code point 1640 (assert_malformed 1641 (module binary 1642 "\00asm" "\01\00\00\00" 1643 "\02\0e" ;; import section 1644 "\01" ;; length 1 1645 "\04\f4\bf\80\80" ;; "\f4\bf\80\80" 1646 "\04\74\65\73\74" ;; "test" 1647 "\03" ;; GlobalImport 1648 "\7f" ;; i32 1649 "\00" ;; immutable 1650 ) 1651 "malformed UTF-8 encoding" 1652 ) 1653 1654 ;; first byte after (0xf4) 4-byte prefix not a continuation byte 1655 (assert_malformed 1656 (module binary 1657 "\00asm" "\01\00\00\00" 1658 "\02\0e" ;; import section 1659 "\01" ;; length 1 1660 "\04\f4\c0\80\80" ;; "\f4\c0\80\80" 1661 "\04\74\65\73\74" ;; "test" 1662 "\03" ;; GlobalImport 1663 "\7f" ;; i32 1664 "\00" ;; immutable 1665 ) 1666 "malformed UTF-8 encoding" 1667 ) 1668 1669 ;; first byte after (0xf4) 4-byte prefix not a continuation byte 1670 (assert_malformed 1671 (module binary 1672 "\00asm" "\01\00\00\00" 1673 "\02\0e" ;; import section 1674 "\01" ;; length 1 1675 "\04\f4\fd\80\80" ;; "\f4\fd\80\80" 1676 "\04\74\65\73\74" ;; "test" 1677 "\03" ;; GlobalImport 1678 "\7f" ;; i32 1679 "\00" ;; immutable 1680 ) 1681 "malformed UTF-8 encoding" 1682 ) 1683 1684 ;; (first) malformed 4-byte prefix 1685 (assert_malformed 1686 (module binary 1687 "\00asm" "\01\00\00\00" 1688 "\02\0e" ;; import section 1689 "\01" ;; length 1 1690 "\04\f5\80\80\80" ;; "\f5\80\80\80" 1691 "\04\74\65\73\74" ;; "test" 1692 "\03" ;; GlobalImport 1693 "\7f" ;; i32 1694 "\00" ;; immutable 1695 ) 1696 "malformed UTF-8 encoding" 1697 ) 1698 1699 ;; (last) malformed 4-byte prefix 1700 (assert_malformed 1701 (module binary 1702 "\00asm" "\01\00\00\00" 1703 "\02\0e" ;; import section 1704 "\01" ;; length 1 1705 "\04\f7\80\80\80" ;; "\f7\80\80\80" 1706 "\04\74\65\73\74" ;; "test" 1707 "\03" ;; GlobalImport 1708 "\7f" ;; i32 1709 "\00" ;; immutable 1710 ) 1711 "malformed UTF-8 encoding" 1712 ) 1713 1714 ;; (last) malformed 4-byte prefix 1715 (assert_malformed 1716 (module binary 1717 "\00asm" "\01\00\00\00" 1718 "\02\0e" ;; import section 1719 "\01" ;; length 1 1720 "\04\f7\bf\bf\bf" ;; "\f7\bf\bf\bf" 1721 "\04\74\65\73\74" ;; "test" 1722 "\03" ;; GlobalImport 1723 "\7f" ;; i32 1724 "\00" ;; immutable 1725 ) 1726 "malformed UTF-8 encoding" 1727 ) 1728 1729 ;;;; 4-byte sequence contents (third byte) 1730 1731 ;; second byte after (0xf0) 4-byte prefix not a continuation byte 1732 (assert_malformed 1733 (module binary 1734 "\00asm" "\01\00\00\00" 1735 "\02\0e" ;; import section 1736 "\01" ;; length 1 1737 "\04\f0\90\00\90" ;; "\f0\90\00\90" 1738 "\04\74\65\73\74" ;; "test" 1739 "\03" ;; GlobalImport 1740 "\7f" ;; i32 1741 "\00" ;; immutable 1742 ) 1743 "malformed UTF-8 encoding" 1744 ) 1745 1746 ;; second byte after (0xf0) 4-byte prefix not a continuation byte 1747 (assert_malformed 1748 (module binary 1749 "\00asm" "\01\00\00\00" 1750 "\02\0e" ;; import section 1751 "\01" ;; length 1 1752 "\04\f0\90\7f\90" ;; "\f0\90\7f\90" 1753 "\04\74\65\73\74" ;; "test" 1754 "\03" ;; GlobalImport 1755 "\7f" ;; i32 1756 "\00" ;; immutable 1757 ) 1758 "malformed UTF-8 encoding" 1759 ) 1760 1761 ;; second byte after (0xf0) 4-byte prefix not a continuation byte 1762 (assert_malformed 1763 (module binary 1764 "\00asm" "\01\00\00\00" 1765 "\02\0e" ;; import section 1766 "\01" ;; length 1 1767 "\04\f0\90\c0\90" ;; "\f0\90\c0\90" 1768 "\04\74\65\73\74" ;; "test" 1769 "\03" ;; GlobalImport 1770 "\7f" ;; i32 1771 "\00" ;; immutable 1772 ) 1773 "malformed UTF-8 encoding" 1774 ) 1775 1776 ;; second byte after (0xf0) 4-byte prefix not a continuation byte 1777 (assert_malformed 1778 (module binary 1779 "\00asm" "\01\00\00\00" 1780 "\02\0e" ;; import section 1781 "\01" ;; length 1 1782 "\04\f0\90\fd\90" ;; "\f0\90\fd\90" 1783 "\04\74\65\73\74" ;; "test" 1784 "\03" ;; GlobalImport 1785 "\7f" ;; i32 1786 "\00" ;; immutable 1787 ) 1788 "malformed UTF-8 encoding" 1789 ) 1790 1791 ;; second byte after (first normal) 4-byte prefix not a continuation byte 1792 (assert_malformed 1793 (module binary 1794 "\00asm" "\01\00\00\00" 1795 "\02\0e" ;; import section 1796 "\01" ;; length 1 1797 "\04\f1\80\00\80" ;; "\f1\80\00\80" 1798 "\04\74\65\73\74" ;; "test" 1799 "\03" ;; GlobalImport 1800 "\7f" ;; i32 1801 "\00" ;; immutable 1802 ) 1803 "malformed UTF-8 encoding" 1804 ) 1805 1806 ;; second byte after (first normal) 4-byte prefix not a continuation byte 1807 (assert_malformed 1808 (module binary 1809 "\00asm" "\01\00\00\00" 1810 "\02\0e" ;; import section 1811 "\01" ;; length 1 1812 "\04\f1\80\7f\80" ;; "\f1\80\7f\80" 1813 "\04\74\65\73\74" ;; "test" 1814 "\03" ;; GlobalImport 1815 "\7f" ;; i32 1816 "\00" ;; immutable 1817 ) 1818 "malformed UTF-8 encoding" 1819 ) 1820 1821 ;; second byte after (first normal) 4-byte prefix not a continuation byte 1822 (assert_malformed 1823 (module binary 1824 "\00asm" "\01\00\00\00" 1825 "\02\0e" ;; import section 1826 "\01" ;; length 1 1827 "\04\f1\80\c0\80" ;; "\f1\80\c0\80" 1828 "\04\74\65\73\74" ;; "test" 1829 "\03" ;; GlobalImport 1830 "\7f" ;; i32 1831 "\00" ;; immutable 1832 ) 1833 "malformed UTF-8 encoding" 1834 ) 1835 1836 ;; second byte after (first normal) 4-byte prefix not a continuation byte 1837 (assert_malformed 1838 (module binary 1839 "\00asm" "\01\00\00\00" 1840 "\02\0e" ;; import section 1841 "\01" ;; length 1 1842 "\04\f1\80\fd\80" ;; "\f1\80\fd\80" 1843 "\04\74\65\73\74" ;; "test" 1844 "\03" ;; GlobalImport 1845 "\7f" ;; i32 1846 "\00" ;; immutable 1847 ) 1848 "malformed UTF-8 encoding" 1849 ) 1850 1851 ;; second byte after (last normal) 4-byte prefix not a continuation byte 1852 (assert_malformed 1853 (module binary 1854 "\00asm" "\01\00\00\00" 1855 "\02\0e" ;; import section 1856 "\01" ;; length 1 1857 "\04\f3\80\00\80" ;; "\f3\80\00\80" 1858 "\04\74\65\73\74" ;; "test" 1859 "\03" ;; GlobalImport 1860 "\7f" ;; i32 1861 "\00" ;; immutable 1862 ) 1863 "malformed UTF-8 encoding" 1864 ) 1865 1866 ;; second byte after (last normal) 4-byte prefix not a continuation byte 1867 (assert_malformed 1868 (module binary 1869 "\00asm" "\01\00\00\00" 1870 "\02\0e" ;; import section 1871 "\01" ;; length 1 1872 "\04\f3\80\7f\80" ;; "\f3\80\7f\80" 1873 "\04\74\65\73\74" ;; "test" 1874 "\03" ;; GlobalImport 1875 "\7f" ;; i32 1876 "\00" ;; immutable 1877 ) 1878 "malformed UTF-8 encoding" 1879 ) 1880 1881 ;; second byte after (last normal) 4-byte prefix not a continuation byte 1882 (assert_malformed 1883 (module binary 1884 "\00asm" "\01\00\00\00" 1885 "\02\0e" ;; import section 1886 "\01" ;; length 1 1887 "\04\f3\80\c0\80" ;; "\f3\80\c0\80" 1888 "\04\74\65\73\74" ;; "test" 1889 "\03" ;; GlobalImport 1890 "\7f" ;; i32 1891 "\00" ;; immutable 1892 ) 1893 "malformed UTF-8 encoding" 1894 ) 1895 1896 ;; second byte after (last normal) 4-byte prefix not a continuation byte 1897 (assert_malformed 1898 (module binary 1899 "\00asm" "\01\00\00\00" 1900 "\02\0e" ;; import section 1901 "\01" ;; length 1 1902 "\04\f3\80\fd\80" ;; "\f3\80\fd\80" 1903 "\04\74\65\73\74" ;; "test" 1904 "\03" ;; GlobalImport 1905 "\7f" ;; i32 1906 "\00" ;; immutable 1907 ) 1908 "malformed UTF-8 encoding" 1909 ) 1910 1911 ;; second byte after (0xf4) 4-byte prefix not a continuation byte 1912 (assert_malformed 1913 (module binary 1914 "\00asm" "\01\00\00\00" 1915 "\02\0e" ;; import section 1916 "\01" ;; length 1 1917 "\04\f4\80\00\80" ;; "\f4\80\00\80" 1918 "\04\74\65\73\74" ;; "test" 1919 "\03" ;; GlobalImport 1920 "\7f" ;; i32 1921 "\00" ;; immutable 1922 ) 1923 "malformed UTF-8 encoding" 1924 ) 1925 1926 ;; second byte after (0xf4) 4-byte prefix not a continuation byte 1927 (assert_malformed 1928 (module binary 1929 "\00asm" "\01\00\00\00" 1930 "\02\0e" ;; import section 1931 "\01" ;; length 1 1932 "\04\f4\80\7f\80" ;; "\f4\80\7f\80" 1933 "\04\74\65\73\74" ;; "test" 1934 "\03" ;; GlobalImport 1935 "\7f" ;; i32 1936 "\00" ;; immutable 1937 ) 1938 "malformed UTF-8 encoding" 1939 ) 1940 1941 ;; second byte after (0xf4) 4-byte prefix not a continuation byte 1942 (assert_malformed 1943 (module binary 1944 "\00asm" "\01\00\00\00" 1945 "\02\0e" ;; import section 1946 "\01" ;; length 1 1947 "\04\f4\80\c0\80" ;; "\f4\80\c0\80" 1948 "\04\74\65\73\74" ;; "test" 1949 "\03" ;; GlobalImport 1950 "\7f" ;; i32 1951 "\00" ;; immutable 1952 ) 1953 "malformed UTF-8 encoding" 1954 ) 1955 1956 ;; second byte after (0xf4) 4-byte prefix not a continuation byte 1957 (assert_malformed 1958 (module binary 1959 "\00asm" "\01\00\00\00" 1960 "\02\0e" ;; import section 1961 "\01" ;; length 1 1962 "\04\f4\80\fd\80" ;; "\f4\80\fd\80" 1963 "\04\74\65\73\74" ;; "test" 1964 "\03" ;; GlobalImport 1965 "\7f" ;; i32 1966 "\00" ;; immutable 1967 ) 1968 "malformed UTF-8 encoding" 1969 ) 1970 1971 ;;;; 4-byte sequence contents (fourth byte) 1972 1973 ;; third byte after (0xf0) 4-byte prefix not a continuation byte 1974 (assert_malformed 1975 (module binary 1976 "\00asm" "\01\00\00\00" 1977 "\02\0e" ;; import section 1978 "\01" ;; length 1 1979 "\04\f0\90\90\00" ;; "\f0\90\90\00" 1980 "\04\74\65\73\74" ;; "test" 1981 "\03" ;; GlobalImport 1982 "\7f" ;; i32 1983 "\00" ;; immutable 1984 ) 1985 "malformed UTF-8 encoding" 1986 ) 1987 1988 ;; third byte after (0xf0) 4-byte prefix not a continuation byte 1989 (assert_malformed 1990 (module binary 1991 "\00asm" "\01\00\00\00" 1992 "\02\0e" ;; import section 1993 "\01" ;; length 1 1994 "\04\f0\90\90\7f" ;; "\f0\90\90\7f" 1995 "\04\74\65\73\74" ;; "test" 1996 "\03" ;; GlobalImport 1997 "\7f" ;; i32 1998 "\00" ;; immutable 1999 ) 2000 "malformed UTF-8 encoding" 2001 ) 2002 2003 ;; third byte after (0xf0) 4-byte prefix not a continuation byte 2004 (assert_malformed 2005 (module binary 2006 "\00asm" "\01\00\00\00" 2007 "\02\0e" ;; import section 2008 "\01" ;; length 1 2009 "\04\f0\90\90\c0" ;; "\f0\90\90\c0" 2010 "\04\74\65\73\74" ;; "test" 2011 "\03" ;; GlobalImport 2012 "\7f" ;; i32 2013 "\00" ;; immutable 2014 ) 2015 "malformed UTF-8 encoding" 2016 ) 2017 2018 ;; third byte after (0xf0) 4-byte prefix not a continuation byte 2019 (assert_malformed 2020 (module binary 2021 "\00asm" "\01\00\00\00" 2022 "\02\0e" ;; import section 2023 "\01" ;; length 1 2024 "\04\f0\90\90\fd" ;; "\f0\90\90\fd" 2025 "\04\74\65\73\74" ;; "test" 2026 "\03" ;; GlobalImport 2027 "\7f" ;; i32 2028 "\00" ;; immutable 2029 ) 2030 "malformed UTF-8 encoding" 2031 ) 2032 2033 ;; third byte after (first normal) 4-byte prefix not a continuation byte 2034 (assert_malformed 2035 (module binary 2036 "\00asm" "\01\00\00\00" 2037 "\02\0e" ;; import section 2038 "\01" ;; length 1 2039 "\04\f1\80\80\00" ;; "\f1\80\80\00" 2040 "\04\74\65\73\74" ;; "test" 2041 "\03" ;; GlobalImport 2042 "\7f" ;; i32 2043 "\00" ;; immutable 2044 ) 2045 "malformed UTF-8 encoding" 2046 ) 2047 2048 ;; third byte after (first normal) 4-byte prefix not a continuation byte 2049 (assert_malformed 2050 (module binary 2051 "\00asm" "\01\00\00\00" 2052 "\02\0e" ;; import section 2053 "\01" ;; length 1 2054 "\04\f1\80\80\7f" ;; "\f1\80\80\7f" 2055 "\04\74\65\73\74" ;; "test" 2056 "\03" ;; GlobalImport 2057 "\7f" ;; i32 2058 "\00" ;; immutable 2059 ) 2060 "malformed UTF-8 encoding" 2061 ) 2062 2063 ;; third byte after (first normal) 4-byte prefix not a continuation byte 2064 (assert_malformed 2065 (module binary 2066 "\00asm" "\01\00\00\00" 2067 "\02\0e" ;; import section 2068 "\01" ;; length 1 2069 "\04\f1\80\80\c0" ;; "\f1\80\80\c0" 2070 "\04\74\65\73\74" ;; "test" 2071 "\03" ;; GlobalImport 2072 "\7f" ;; i32 2073 "\00" ;; immutable 2074 ) 2075 "malformed UTF-8 encoding" 2076 ) 2077 2078 ;; third byte after (first normal) 4-byte prefix not a continuation byte 2079 (assert_malformed 2080 (module binary 2081 "\00asm" "\01\00\00\00" 2082 "\02\0e" ;; import section 2083 "\01" ;; length 1 2084 "\04\f1\80\80\fd" ;; "\f1\80\80\fd" 2085 "\04\74\65\73\74" ;; "test" 2086 "\03" ;; GlobalImport 2087 "\7f" ;; i32 2088 "\00" ;; immutable 2089 ) 2090 "malformed UTF-8 encoding" 2091 ) 2092 2093 ;; third byte after (last normal) 4-byte prefix not a continuation byte 2094 (assert_malformed 2095 (module binary 2096 "\00asm" "\01\00\00\00" 2097 "\02\0e" ;; import section 2098 "\01" ;; length 1 2099 "\04\f3\80\80\00" ;; "\f3\80\80\00" 2100 "\04\74\65\73\74" ;; "test" 2101 "\03" ;; GlobalImport 2102 "\7f" ;; i32 2103 "\00" ;; immutable 2104 ) 2105 "malformed UTF-8 encoding" 2106 ) 2107 2108 ;; third byte after (last normal) 4-byte prefix not a continuation byte 2109 (assert_malformed 2110 (module binary 2111 "\00asm" "\01\00\00\00" 2112 "\02\0e" ;; import section 2113 "\01" ;; length 1 2114 "\04\f3\80\80\7f" ;; "\f3\80\80\7f" 2115 "\04\74\65\73\74" ;; "test" 2116 "\03" ;; GlobalImport 2117 "\7f" ;; i32 2118 "\00" ;; immutable 2119 ) 2120 "malformed UTF-8 encoding" 2121 ) 2122 2123 ;; third byte after (last normal) 4-byte prefix not a continuation byte 2124 (assert_malformed 2125 (module binary 2126 "\00asm" "\01\00\00\00" 2127 "\02\0e" ;; import section 2128 "\01" ;; length 1 2129 "\04\f3\80\80\c0" ;; "\f3\80\80\c0" 2130 "\04\74\65\73\74" ;; "test" 2131 "\03" ;; GlobalImport 2132 "\7f" ;; i32 2133 "\00" ;; immutable 2134 ) 2135 "malformed UTF-8 encoding" 2136 ) 2137 2138 ;; third byte after (last normal) 4-byte prefix not a continuation byte 2139 (assert_malformed 2140 (module binary 2141 "\00asm" "\01\00\00\00" 2142 "\02\0e" ;; import section 2143 "\01" ;; length 1 2144 "\04\f3\80\80\fd" ;; "\f3\80\80\fd" 2145 "\04\74\65\73\74" ;; "test" 2146 "\03" ;; GlobalImport 2147 "\7f" ;; i32 2148 "\00" ;; immutable 2149 ) 2150 "malformed UTF-8 encoding" 2151 ) 2152 2153 ;; third byte after (0xf4) 4-byte prefix not a continuation byte 2154 (assert_malformed 2155 (module binary 2156 "\00asm" "\01\00\00\00" 2157 "\02\0e" ;; import section 2158 "\01" ;; length 1 2159 "\04\f4\80\80\00" ;; "\f4\80\80\00" 2160 "\04\74\65\73\74" ;; "test" 2161 "\03" ;; GlobalImport 2162 "\7f" ;; i32 2163 "\00" ;; immutable 2164 ) 2165 "malformed UTF-8 encoding" 2166 ) 2167 2168 ;; third byte after (0xf4) 4-byte prefix not a continuation byte 2169 (assert_malformed 2170 (module binary 2171 "\00asm" "\01\00\00\00" 2172 "\02\0e" ;; import section 2173 "\01" ;; length 1 2174 "\04\f4\80\80\7f" ;; "\f4\80\80\7f" 2175 "\04\74\65\73\74" ;; "test" 2176 "\03" ;; GlobalImport 2177 "\7f" ;; i32 2178 "\00" ;; immutable 2179 ) 2180 "malformed UTF-8 encoding" 2181 ) 2182 2183 ;; third byte after (0xf4) 4-byte prefix not a continuation byte 2184 (assert_malformed 2185 (module binary 2186 "\00asm" "\01\00\00\00" 2187 "\02\0e" ;; import section 2188 "\01" ;; length 1 2189 "\04\f4\80\80\c0" ;; "\f4\80\80\c0" 2190 "\04\74\65\73\74" ;; "test" 2191 "\03" ;; GlobalImport 2192 "\7f" ;; i32 2193 "\00" ;; immutable 2194 ) 2195 "malformed UTF-8 encoding" 2196 ) 2197 2198 ;; third byte after (0xf4) 4-byte prefix not a continuation byte 2199 (assert_malformed 2200 (module binary 2201 "\00asm" "\01\00\00\00" 2202 "\02\0e" ;; import section 2203 "\01" ;; length 1 2204 "\04\f4\80\80\fd" ;; "\f4\80\80\fd" 2205 "\04\74\65\73\74" ;; "test" 2206 "\03" ;; GlobalImport 2207 "\7f" ;; i32 2208 "\00" ;; immutable 2209 ) 2210 "malformed UTF-8 encoding" 2211 ) 2212 2213 ;;;; 5-byte sequences 2214 2215 ;; 5-byte sequence contains 6 bytes 2216 (assert_malformed 2217 (module binary 2218 "\00asm" "\01\00\00\00" 2219 "\02\10" ;; import section 2220 "\01" ;; length 1 2221 "\06\f8\80\80\80\80\80" ;; "\f8\80\80\80\80\80" 2222 "\04\74\65\73\74" ;; "test" 2223 "\03" ;; GlobalImport 2224 "\7f" ;; i32 2225 "\00" ;; immutable 2226 ) 2227 "malformed UTF-8 encoding" 2228 ) 2229 2230 ;; 5-byte sequence contains 4 bytes at end of string 2231 (assert_malformed 2232 (module binary 2233 "\00asm" "\01\00\00\00" 2234 "\02\0e" ;; import section 2235 "\01" ;; length 1 2236 "\04\f8\80\80\80" ;; "\f8\80\80\80" 2237 "\04\74\65\73\74" ;; "test" 2238 "\03" ;; GlobalImport 2239 "\7f" ;; i32 2240 "\00" ;; immutable 2241 ) 2242 "malformed UTF-8 encoding" 2243 ) 2244 2245 ;; 5-byte sequence contains 4 bytes 2246 (assert_malformed 2247 (module binary 2248 "\00asm" "\01\00\00\00" 2249 "\02\0f" ;; import section 2250 "\01" ;; length 1 2251 "\05\f8\80\80\80\23" ;; "\f8\80\80\80#" 2252 "\04\74\65\73\74" ;; "test" 2253 "\03" ;; GlobalImport 2254 "\7f" ;; i32 2255 "\00" ;; immutable 2256 ) 2257 "malformed UTF-8 encoding" 2258 ) 2259 2260 ;; 5-byte sequence contains 3 bytes at end of string 2261 (assert_malformed 2262 (module binary 2263 "\00asm" "\01\00\00\00" 2264 "\02\0d" ;; import section 2265 "\01" ;; length 1 2266 "\03\f8\80\80" ;; "\f8\80\80" 2267 "\04\74\65\73\74" ;; "test" 2268 "\03" ;; GlobalImport 2269 "\7f" ;; i32 2270 "\00" ;; immutable 2271 ) 2272 "malformed UTF-8 encoding" 2273 ) 2274 2275 ;; 5-byte sequence contains 3 bytes 2276 (assert_malformed 2277 (module binary 2278 "\00asm" "\01\00\00\00" 2279 "\02\0e" ;; import section 2280 "\01" ;; length 1 2281 "\04\f8\80\80\23" ;; "\f8\80\80#" 2282 "\04\74\65\73\74" ;; "test" 2283 "\03" ;; GlobalImport 2284 "\7f" ;; i32 2285 "\00" ;; immutable 2286 ) 2287 "malformed UTF-8 encoding" 2288 ) 2289 2290 ;; 5-byte sequence contains 2 bytes at end of string 2291 (assert_malformed 2292 (module binary 2293 "\00asm" "\01\00\00\00" 2294 "\02\0c" ;; import section 2295 "\01" ;; length 1 2296 "\02\f8\80" ;; "\f8\80" 2297 "\04\74\65\73\74" ;; "test" 2298 "\03" ;; GlobalImport 2299 "\7f" ;; i32 2300 "\00" ;; immutable 2301 ) 2302 "malformed UTF-8 encoding" 2303 ) 2304 2305 ;; 5-byte sequence contains 2 bytes 2306 (assert_malformed 2307 (module binary 2308 "\00asm" "\01\00\00\00" 2309 "\02\0d" ;; import section 2310 "\01" ;; length 1 2311 "\03\f8\80\23" ;; "\f8\80#" 2312 "\04\74\65\73\74" ;; "test" 2313 "\03" ;; GlobalImport 2314 "\7f" ;; i32 2315 "\00" ;; immutable 2316 ) 2317 "malformed UTF-8 encoding" 2318 ) 2319 2320 ;; 5-byte sequence contains 1 byte at end of string 2321 (assert_malformed 2322 (module binary 2323 "\00asm" "\01\00\00\00" 2324 "\02\0b" ;; import section 2325 "\01" ;; length 1 2326 "\01\f8" ;; "\f8" 2327 "\04\74\65\73\74" ;; "test" 2328 "\03" ;; GlobalImport 2329 "\7f" ;; i32 2330 "\00" ;; immutable 2331 ) 2332 "malformed UTF-8 encoding" 2333 ) 2334 2335 ;; 5-byte sequence contains 1 byte 2336 (assert_malformed 2337 (module binary 2338 "\00asm" "\01\00\00\00" 2339 "\02\0c" ;; import section 2340 "\01" ;; length 1 2341 "\02\f8\23" ;; "\f8#" 2342 "\04\74\65\73\74" ;; "test" 2343 "\03" ;; GlobalImport 2344 "\7f" ;; i32 2345 "\00" ;; immutable 2346 ) 2347 "malformed UTF-8 encoding" 2348 ) 2349 2350 ;;;; 5-byte sequence contents 2351 2352 ;; (first) malformed 5-byte prefix 2353 (assert_malformed 2354 (module binary 2355 "\00asm" "\01\00\00\00" 2356 "\02\0f" ;; import section 2357 "\01" ;; length 1 2358 "\05\f8\80\80\80\80" ;; "\f8\80\80\80\80" 2359 "\04\74\65\73\74" ;; "test" 2360 "\03" ;; GlobalImport 2361 "\7f" ;; i32 2362 "\00" ;; immutable 2363 ) 2364 "malformed UTF-8 encoding" 2365 ) 2366 2367 ;; (last) malformed 5-byte prefix 2368 (assert_malformed 2369 (module binary 2370 "\00asm" "\01\00\00\00" 2371 "\02\0f" ;; import section 2372 "\01" ;; length 1 2373 "\05\fb\bf\bf\bf\bf" ;; "\fb\bf\bf\bf\bf" 2374 "\04\74\65\73\74" ;; "test" 2375 "\03" ;; GlobalImport 2376 "\7f" ;; i32 2377 "\00" ;; immutable 2378 ) 2379 "malformed UTF-8 encoding" 2380 ) 2381 2382 ;;;; 6-byte sequences 2383 2384 ;; 6-byte sequence contains 7 bytes 2385 (assert_malformed 2386 (module binary 2387 "\00asm" "\01\00\00\00" 2388 "\02\11" ;; import section 2389 "\01" ;; length 1 2390 "\07\fc\80\80\80\80\80\80" ;; "\fc\80\80\80\80\80\80" 2391 "\04\74\65\73\74" ;; "test" 2392 "\03" ;; GlobalImport 2393 "\7f" ;; i32 2394 "\00" ;; immutable 2395 ) 2396 "malformed UTF-8 encoding" 2397 ) 2398 2399 ;; 6-byte sequence contains 5 bytes at end of string 2400 (assert_malformed 2401 (module binary 2402 "\00asm" "\01\00\00\00" 2403 "\02\0f" ;; import section 2404 "\01" ;; length 1 2405 "\05\fc\80\80\80\80" ;; "\fc\80\80\80\80" 2406 "\04\74\65\73\74" ;; "test" 2407 "\03" ;; GlobalImport 2408 "\7f" ;; i32 2409 "\00" ;; immutable 2410 ) 2411 "malformed UTF-8 encoding" 2412 ) 2413 2414 ;; 6-byte sequence contains 5 bytes 2415 (assert_malformed 2416 (module binary 2417 "\00asm" "\01\00\00\00" 2418 "\02\10" ;; import section 2419 "\01" ;; length 1 2420 "\06\fc\80\80\80\80\23" ;; "\fc\80\80\80\80#" 2421 "\04\74\65\73\74" ;; "test" 2422 "\03" ;; GlobalImport 2423 "\7f" ;; i32 2424 "\00" ;; immutable 2425 ) 2426 "malformed UTF-8 encoding" 2427 ) 2428 2429 ;; 6-byte sequence contains 4 bytes at end of string 2430 (assert_malformed 2431 (module binary 2432 "\00asm" "\01\00\00\00" 2433 "\02\0e" ;; import section 2434 "\01" ;; length 1 2435 "\04\fc\80\80\80" ;; "\fc\80\80\80" 2436 "\04\74\65\73\74" ;; "test" 2437 "\03" ;; GlobalImport 2438 "\7f" ;; i32 2439 "\00" ;; immutable 2440 ) 2441 "malformed UTF-8 encoding" 2442 ) 2443 2444 ;; 6-byte sequence contains 4 bytes 2445 (assert_malformed 2446 (module binary 2447 "\00asm" "\01\00\00\00" 2448 "\02\0f" ;; import section 2449 "\01" ;; length 1 2450 "\05\fc\80\80\80\23" ;; "\fc\80\80\80#" 2451 "\04\74\65\73\74" ;; "test" 2452 "\03" ;; GlobalImport 2453 "\7f" ;; i32 2454 "\00" ;; immutable 2455 ) 2456 "malformed UTF-8 encoding" 2457 ) 2458 2459 ;; 6-byte sequence contains 3 bytes at end of string 2460 (assert_malformed 2461 (module binary 2462 "\00asm" "\01\00\00\00" 2463 "\02\0d" ;; import section 2464 "\01" ;; length 1 2465 "\03\fc\80\80" ;; "\fc\80\80" 2466 "\04\74\65\73\74" ;; "test" 2467 "\03" ;; GlobalImport 2468 "\7f" ;; i32 2469 "\00" ;; immutable 2470 ) 2471 "malformed UTF-8 encoding" 2472 ) 2473 2474 ;; 6-byte sequence contains 3 bytes 2475 (assert_malformed 2476 (module binary 2477 "\00asm" "\01\00\00\00" 2478 "\02\0e" ;; import section 2479 "\01" ;; length 1 2480 "\04\fc\80\80\23" ;; "\fc\80\80#" 2481 "\04\74\65\73\74" ;; "test" 2482 "\03" ;; GlobalImport 2483 "\7f" ;; i32 2484 "\00" ;; immutable 2485 ) 2486 "malformed UTF-8 encoding" 2487 ) 2488 2489 ;; 6-byte sequence contains 2 bytes at end of string 2490 (assert_malformed 2491 (module binary 2492 "\00asm" "\01\00\00\00" 2493 "\02\0c" ;; import section 2494 "\01" ;; length 1 2495 "\02\fc\80" ;; "\fc\80" 2496 "\04\74\65\73\74" ;; "test" 2497 "\03" ;; GlobalImport 2498 "\7f" ;; i32 2499 "\00" ;; immutable 2500 ) 2501 "malformed UTF-8 encoding" 2502 ) 2503 2504 ;; 6-byte sequence contains 2 bytes 2505 (assert_malformed 2506 (module binary 2507 "\00asm" "\01\00\00\00" 2508 "\02\0d" ;; import section 2509 "\01" ;; length 1 2510 "\03\fc\80\23" ;; "\fc\80#" 2511 "\04\74\65\73\74" ;; "test" 2512 "\03" ;; GlobalImport 2513 "\7f" ;; i32 2514 "\00" ;; immutable 2515 ) 2516 "malformed UTF-8 encoding" 2517 ) 2518 2519 ;; 6-byte sequence contains 1 byte at end of string 2520 (assert_malformed 2521 (module binary 2522 "\00asm" "\01\00\00\00" 2523 "\02\0b" ;; import section 2524 "\01" ;; length 1 2525 "\01\fc" ;; "\fc" 2526 "\04\74\65\73\74" ;; "test" 2527 "\03" ;; GlobalImport 2528 "\7f" ;; i32 2529 "\00" ;; immutable 2530 ) 2531 "malformed UTF-8 encoding" 2532 ) 2533 2534 ;; 6-byte sequence contains 1 byte 2535 (assert_malformed 2536 (module binary 2537 "\00asm" "\01\00\00\00" 2538 "\02\0c" ;; import section 2539 "\01" ;; length 1 2540 "\02\fc\23" ;; "\fc#" 2541 "\04\74\65\73\74" ;; "test" 2542 "\03" ;; GlobalImport 2543 "\7f" ;; i32 2544 "\00" ;; immutable 2545 ) 2546 "malformed UTF-8 encoding" 2547 ) 2548 2549 ;;;; 6-byte sequence contents 2550 2551 ;; (first) malformed 6-byte prefix 2552 (assert_malformed 2553 (module binary 2554 "\00asm" "\01\00\00\00" 2555 "\02\10" ;; import section 2556 "\01" ;; length 1 2557 "\06\fc\80\80\80\80\80" ;; "\fc\80\80\80\80\80" 2558 "\04\74\65\73\74" ;; "test" 2559 "\03" ;; GlobalImport 2560 "\7f" ;; i32 2561 "\00" ;; immutable 2562 ) 2563 "malformed UTF-8 encoding" 2564 ) 2565 2566 ;; (last) malformed 6-byte prefix 2567 (assert_malformed 2568 (module binary 2569 "\00asm" "\01\00\00\00" 2570 "\02\10" ;; import section 2571 "\01" ;; length 1 2572 "\06\fd\bf\bf\bf\bf\bf" ;; "\fd\bf\bf\bf\bf\bf" 2573 "\04\74\65\73\74" ;; "test" 2574 "\03" ;; GlobalImport 2575 "\7f" ;; i32 2576 "\00" ;; immutable 2577 ) 2578 "malformed UTF-8 encoding" 2579 ) 2580 2581 ;;;; Miscellaneous malformed bytes 2582 2583 ;; malformed byte 2584 (assert_malformed 2585 (module binary 2586 "\00asm" "\01\00\00\00" 2587 "\02\0b" ;; import section 2588 "\01" ;; length 1 2589 "\01\fe" ;; "\fe" 2590 "\04\74\65\73\74" ;; "test" 2591 "\03" ;; GlobalImport 2592 "\7f" ;; i32 2593 "\00" ;; immutable 2594 ) 2595 "malformed UTF-8 encoding" 2596 ) 2597 2598 ;; malformed byte 2599 (assert_malformed 2600 (module binary 2601 "\00asm" "\01\00\00\00" 2602 "\02\0b" ;; import section 2603 "\01" ;; length 1 2604 "\01\ff" ;; "\ff" 2605 "\04\74\65\73\74" ;; "test" 2606 "\03" ;; GlobalImport 2607 "\7f" ;; i32 2608 "\00" ;; immutable 2609 ) 2610 "malformed UTF-8 encoding" 2611 ) 2612 2613 ;; UTF-16BE BOM 2614 (assert_malformed 2615 (module binary 2616 "\00asm" "\01\00\00\00" 2617 "\02\0c" ;; import section 2618 "\01" ;; length 1 2619 "\02\fe\ff" ;; "\fe\ff" 2620 "\04\74\65\73\74" ;; "test" 2621 "\03" ;; GlobalImport 2622 "\7f" ;; i32 2623 "\00" ;; immutable 2624 ) 2625 "malformed UTF-8 encoding" 2626 ) 2627 2628 ;; UTF-32BE BOM 2629 (assert_malformed 2630 (module binary 2631 "\00asm" "\01\00\00\00" 2632 "\02\0e" ;; import section 2633 "\01" ;; length 1 2634 "\04\00\00\fe\ff" ;; "\00\00\fe\ff" 2635 "\04\74\65\73\74" ;; "test" 2636 "\03" ;; GlobalImport 2637 "\7f" ;; i32 2638 "\00" ;; immutable 2639 ) 2640 "malformed UTF-8 encoding" 2641 ) 2642 2643 ;; UTF-16LE BOM 2644 (assert_malformed 2645 (module binary 2646 "\00asm" "\01\00\00\00" 2647 "\02\0c" ;; import section 2648 "\01" ;; length 1 2649 "\02\ff\fe" ;; "\ff\fe" 2650 "\04\74\65\73\74" ;; "test" 2651 "\03" ;; GlobalImport 2652 "\7f" ;; i32 2653 "\00" ;; immutable 2654 ) 2655 "malformed UTF-8 encoding" 2656 ) 2657 2658 ;; UTF-32LE BOM 2659 (assert_malformed 2660 (module binary 2661 "\00asm" "\01\00\00\00" 2662 "\02\0e" ;; import section 2663 "\01" ;; length 1 2664 "\04\ff\fe\00\00" ;; "\ff\fe\00\00" 2665 "\04\74\65\73\74" ;; "test" 2666 "\03" ;; GlobalImport 2667 "\7f" ;; i32 2668 "\00" ;; immutable 2669 ) 2670 "malformed UTF-8 encoding" 2671 ) 2672