github.com/tetratelabs/wazero@v1.7.3-0.20240513003603-48f702e154b5/internal/integration_test/spectest/v2/testdata/utf8-custom-section-id.wast (about) 1 ;;;;;; Invalid UTF-8 custom section 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 "\00\02" ;; custom section 10 "\01\80" ;; "\80" 11 ) 12 "malformed UTF-8 encoding" 13 ) 14 15 ;; encoding starts with (0x8f) continuation byte 16 (assert_malformed 17 (module binary 18 "\00asm" "\01\00\00\00" 19 "\00\02" ;; custom section 20 "\01\8f" ;; "\8f" 21 ) 22 "malformed UTF-8 encoding" 23 ) 24 25 ;; encoding starts with (0x90) continuation byte 26 (assert_malformed 27 (module binary 28 "\00asm" "\01\00\00\00" 29 "\00\02" ;; custom section 30 "\01\90" ;; "\90" 31 ) 32 "malformed UTF-8 encoding" 33 ) 34 35 ;; encoding starts with (0x9f) continuation byte 36 (assert_malformed 37 (module binary 38 "\00asm" "\01\00\00\00" 39 "\00\02" ;; custom section 40 "\01\9f" ;; "\9f" 41 ) 42 "malformed UTF-8 encoding" 43 ) 44 45 ;; encoding starts with (0xa0) continuation byte 46 (assert_malformed 47 (module binary 48 "\00asm" "\01\00\00\00" 49 "\00\02" ;; custom section 50 "\01\a0" ;; "\a0" 51 ) 52 "malformed UTF-8 encoding" 53 ) 54 55 ;; encoding starts with (last) continuation byte 56 (assert_malformed 57 (module binary 58 "\00asm" "\01\00\00\00" 59 "\00\02" ;; custom section 60 "\01\bf" ;; "\bf" 61 ) 62 "malformed UTF-8 encoding" 63 ) 64 65 ;;;; 2-byte sequences 66 67 ;; 2-byte sequence contains 3 bytes 68 (assert_malformed 69 (module binary 70 "\00asm" "\01\00\00\00" 71 "\00\04" ;; custom section 72 "\03\c2\80\80" ;; "\c2\80\80" 73 ) 74 "malformed UTF-8 encoding" 75 ) 76 77 ;; 2-byte sequence contains 1 byte at end of string 78 (assert_malformed 79 (module binary 80 "\00asm" "\01\00\00\00" 81 "\00\02" ;; custom section 82 "\01\c2" ;; "\c2" 83 ) 84 "malformed UTF-8 encoding" 85 ) 86 87 ;; 2-byte sequence contains 1 byte 88 (assert_malformed 89 (module binary 90 "\00asm" "\01\00\00\00" 91 "\00\03" ;; custom section 92 "\02\c2\2e" ;; "\c2." 93 ) 94 "malformed UTF-8 encoding" 95 ) 96 97 ;;;; 2-byte sequence contents 98 99 ;; overlong encoding after 0xc0 prefix 100 (assert_malformed 101 (module binary 102 "\00asm" "\01\00\00\00" 103 "\00\03" ;; custom section 104 "\02\c0\80" ;; "\c0\80" 105 ) 106 "malformed UTF-8 encoding" 107 ) 108 109 ;; overlong encoding after 0xc0 prefix 110 (assert_malformed 111 (module binary 112 "\00asm" "\01\00\00\00" 113 "\00\03" ;; custom section 114 "\02\c0\bf" ;; "\c0\bf" 115 ) 116 "malformed UTF-8 encoding" 117 ) 118 119 ;; overlong encoding after 0xc1 prefix 120 (assert_malformed 121 (module binary 122 "\00asm" "\01\00\00\00" 123 "\00\03" ;; custom section 124 "\02\c1\80" ;; "\c1\80" 125 ) 126 "malformed UTF-8 encoding" 127 ) 128 129 ;; overlong encoding after 0xc1 prefix 130 (assert_malformed 131 (module binary 132 "\00asm" "\01\00\00\00" 133 "\00\03" ;; custom section 134 "\02\c1\bf" ;; "\c1\bf" 135 ) 136 "malformed UTF-8 encoding" 137 ) 138 139 ;; byte after (first) 2-byte prefix not a contination byte 140 (assert_malformed 141 (module binary 142 "\00asm" "\01\00\00\00" 143 "\00\03" ;; custom section 144 "\02\c2\00" ;; "\c2\00" 145 ) 146 "malformed UTF-8 encoding" 147 ) 148 149 ;; byte after (first) 2-byte prefix not a continuation byte 150 (assert_malformed 151 (module binary 152 "\00asm" "\01\00\00\00" 153 "\00\03" ;; custom section 154 "\02\c2\7f" ;; "\c2\7f" 155 ) 156 "malformed UTF-8 encoding" 157 ) 158 159 ;; byte after (first) 2-byte prefix not a continuation byte 160 (assert_malformed 161 (module binary 162 "\00asm" "\01\00\00\00" 163 "\00\03" ;; custom section 164 "\02\c2\c0" ;; "\c2\c0" 165 ) 166 "malformed UTF-8 encoding" 167 ) 168 169 ;; byte after (first) 2-byte prefix not a continuation byte 170 (assert_malformed 171 (module binary 172 "\00asm" "\01\00\00\00" 173 "\00\03" ;; custom section 174 "\02\c2\fd" ;; "\c2\fd" 175 ) 176 "malformed UTF-8 encoding" 177 ) 178 179 ;; byte after (last) 2-byte prefix not a continuation byte 180 (assert_malformed 181 (module binary 182 "\00asm" "\01\00\00\00" 183 "\00\03" ;; custom section 184 "\02\df\00" ;; "\df\00" 185 ) 186 "malformed UTF-8 encoding" 187 ) 188 189 ;; byte after (last) 2-byte prefix not a continuation byte 190 (assert_malformed 191 (module binary 192 "\00asm" "\01\00\00\00" 193 "\00\03" ;; custom section 194 "\02\df\7f" ;; "\df\7f" 195 ) 196 "malformed UTF-8 encoding" 197 ) 198 199 ;; byte after (last) 2-byte prefix not a continuation byte 200 (assert_malformed 201 (module binary 202 "\00asm" "\01\00\00\00" 203 "\00\03" ;; custom section 204 "\02\df\c0" ;; "\df\c0" 205 ) 206 "malformed UTF-8 encoding" 207 ) 208 209 ;; byte after (last) 2-byte prefix not a continuation byte 210 (assert_malformed 211 (module binary 212 "\00asm" "\01\00\00\00" 213 "\00\03" ;; custom section 214 "\02\df\fd" ;; "\df\fd" 215 ) 216 "malformed UTF-8 encoding" 217 ) 218 219 ;;;; 3-byte sequences 220 221 ;; 3-byte sequence contains 4 bytes 222 (assert_malformed 223 (module binary 224 "\00asm" "\01\00\00\00" 225 "\00\05" ;; custom section 226 "\04\e1\80\80\80" ;; "\e1\80\80\80" 227 ) 228 "malformed UTF-8 encoding" 229 ) 230 231 ;; 3-byte sequence contains 2 bytes at end of string 232 (assert_malformed 233 (module binary 234 "\00asm" "\01\00\00\00" 235 "\00\03" ;; custom section 236 "\02\e1\80" ;; "\e1\80" 237 ) 238 "malformed UTF-8 encoding" 239 ) 240 241 ;; 3-byte sequence contains 2 bytes 242 (assert_malformed 243 (module binary 244 "\00asm" "\01\00\00\00" 245 "\00\04" ;; custom section 246 "\03\e1\80\2e" ;; "\e1\80." 247 ) 248 "malformed UTF-8 encoding" 249 ) 250 251 ;; 3-byte sequence contains 1 byte at end of string 252 (assert_malformed 253 (module binary 254 "\00asm" "\01\00\00\00" 255 "\00\02" ;; custom section 256 "\01\e1" ;; "\e1" 257 ) 258 "malformed UTF-8 encoding" 259 ) 260 261 ;; 3-byte sequence contains 1 byte 262 (assert_malformed 263 (module binary 264 "\00asm" "\01\00\00\00" 265 "\00\03" ;; custom section 266 "\02\e1\2e" ;; "\e1." 267 ) 268 "malformed UTF-8 encoding" 269 ) 270 271 ;;;; 3-byte sequence contents 272 273 ;; first byte after (0xe0) 3-byte prefix not a continuation byte 274 (assert_malformed 275 (module binary 276 "\00asm" "\01\00\00\00" 277 "\00\04" ;; custom section 278 "\03\e0\00\a0" ;; "\e0\00\a0" 279 ) 280 "malformed UTF-8 encoding" 281 ) 282 283 ;; first byte after (0xe0) 3-byte prefix not a continuation byte 284 (assert_malformed 285 (module binary 286 "\00asm" "\01\00\00\00" 287 "\00\04" ;; custom section 288 "\03\e0\7f\a0" ;; "\e0\7f\a0" 289 ) 290 "malformed UTF-8 encoding" 291 ) 292 293 ;; overlong encoding after 0xe0 prefix 294 (assert_malformed 295 (module binary 296 "\00asm" "\01\00\00\00" 297 "\00\04" ;; custom section 298 "\03\e0\80\80" ;; "\e0\80\80" 299 ) 300 "malformed UTF-8 encoding" 301 ) 302 303 ;; overlong encoding after 0xe0 prefix 304 (assert_malformed 305 (module binary 306 "\00asm" "\01\00\00\00" 307 "\00\04" ;; custom section 308 "\03\e0\80\a0" ;; "\e0\80\a0" 309 ) 310 "malformed UTF-8 encoding" 311 ) 312 313 ;; overlong encoding after 0xe0 prefix 314 (assert_malformed 315 (module binary 316 "\00asm" "\01\00\00\00" 317 "\00\04" ;; custom section 318 "\03\e0\9f\a0" ;; "\e0\9f\a0" 319 ) 320 "malformed UTF-8 encoding" 321 ) 322 323 ;; overlong encoding after 0xe0 prefix 324 (assert_malformed 325 (module binary 326 "\00asm" "\01\00\00\00" 327 "\00\04" ;; custom section 328 "\03\e0\9f\bf" ;; "\e0\9f\bf" 329 ) 330 "malformed UTF-8 encoding" 331 ) 332 333 ;; first byte after (0xe0) 3-byte prefix not a continuation byte 334 (assert_malformed 335 (module binary 336 "\00asm" "\01\00\00\00" 337 "\00\04" ;; custom section 338 "\03\e0\c0\a0" ;; "\e0\c0\a0" 339 ) 340 "malformed UTF-8 encoding" 341 ) 342 343 ;; first byte after (0xe0) 3-byte prefix not a continuation byte 344 (assert_malformed 345 (module binary 346 "\00asm" "\01\00\00\00" 347 "\00\04" ;; custom section 348 "\03\e0\fd\a0" ;; "\e0\fd\a0" 349 ) 350 "malformed UTF-8 encoding" 351 ) 352 353 ;; first byte after (first normal) 3-byte prefix not a continuation byte 354 (assert_malformed 355 (module binary 356 "\00asm" "\01\00\00\00" 357 "\00\04" ;; custom section 358 "\03\e1\00\80" ;; "\e1\00\80" 359 ) 360 "malformed UTF-8 encoding" 361 ) 362 363 ;; first byte after (first normal) 3-byte prefix not a continuation byte 364 (assert_malformed 365 (module binary 366 "\00asm" "\01\00\00\00" 367 "\00\04" ;; custom section 368 "\03\e1\7f\80" ;; "\e1\7f\80" 369 ) 370 "malformed UTF-8 encoding" 371 ) 372 373 ;; first byte after (first normal) 3-byte prefix not a continuation byte 374 (assert_malformed 375 (module binary 376 "\00asm" "\01\00\00\00" 377 "\00\04" ;; custom section 378 "\03\e1\c0\80" ;; "\e1\c0\80" 379 ) 380 "malformed UTF-8 encoding" 381 ) 382 383 ;; first byte after (first normal) 3-byte prefix not a continuation byte 384 (assert_malformed 385 (module binary 386 "\00asm" "\01\00\00\00" 387 "\00\04" ;; custom section 388 "\03\e1\fd\80" ;; "\e1\fd\80" 389 ) 390 "malformed UTF-8 encoding" 391 ) 392 393 ;; first byte after (normal) 3-byte prefix not a continuation byte 394 (assert_malformed 395 (module binary 396 "\00asm" "\01\00\00\00" 397 "\00\04" ;; custom section 398 "\03\ec\00\80" ;; "\ec\00\80" 399 ) 400 "malformed UTF-8 encoding" 401 ) 402 403 ;; first byte after (normal) 3-byte prefix not a continuation byte 404 (assert_malformed 405 (module binary 406 "\00asm" "\01\00\00\00" 407 "\00\04" ;; custom section 408 "\03\ec\7f\80" ;; "\ec\7f\80" 409 ) 410 "malformed UTF-8 encoding" 411 ) 412 413 ;; first byte after (normal) 3-byte prefix not a continuation byte 414 (assert_malformed 415 (module binary 416 "\00asm" "\01\00\00\00" 417 "\00\04" ;; custom section 418 "\03\ec\c0\80" ;; "\ec\c0\80" 419 ) 420 "malformed UTF-8 encoding" 421 ) 422 423 ;; first byte after (normal) 3-byte prefix not a continuation byte 424 (assert_malformed 425 (module binary 426 "\00asm" "\01\00\00\00" 427 "\00\04" ;; custom section 428 "\03\ec\fd\80" ;; "\ec\fd\80" 429 ) 430 "malformed UTF-8 encoding" 431 ) 432 433 ;; first byte after (0xed) 3-byte prefix not a continuation byte 434 (assert_malformed 435 (module binary 436 "\00asm" "\01\00\00\00" 437 "\00\04" ;; custom section 438 "\03\ed\00\80" ;; "\ed\00\80" 439 ) 440 "malformed UTF-8 encoding" 441 ) 442 443 ;; first byte after (0xed) 3-byte prefix not a continuation byte 444 (assert_malformed 445 (module binary 446 "\00asm" "\01\00\00\00" 447 "\00\04" ;; custom section 448 "\03\ed\7f\80" ;; "\ed\7f\80" 449 ) 450 "malformed UTF-8 encoding" 451 ) 452 453 ;; byte sequence reserved for UTF-16 surrogate half 454 (assert_malformed 455 (module binary 456 "\00asm" "\01\00\00\00" 457 "\00\04" ;; custom section 458 "\03\ed\a0\80" ;; "\ed\a0\80" 459 ) 460 "malformed UTF-8 encoding" 461 ) 462 463 ;; byte sequence reserved for UTF-16 surrogate half 464 (assert_malformed 465 (module binary 466 "\00asm" "\01\00\00\00" 467 "\00\04" ;; custom section 468 "\03\ed\a0\bf" ;; "\ed\a0\bf" 469 ) 470 "malformed UTF-8 encoding" 471 ) 472 473 ;; byte sequence reserved for UTF-16 surrogate half 474 (assert_malformed 475 (module binary 476 "\00asm" "\01\00\00\00" 477 "\00\04" ;; custom section 478 "\03\ed\bf\80" ;; "\ed\bf\80" 479 ) 480 "malformed UTF-8 encoding" 481 ) 482 483 ;; byte sequence reserved for UTF-16 surrogate half 484 (assert_malformed 485 (module binary 486 "\00asm" "\01\00\00\00" 487 "\00\04" ;; custom section 488 "\03\ed\bf\bf" ;; "\ed\bf\bf" 489 ) 490 "malformed UTF-8 encoding" 491 ) 492 493 ;; first byte after (0xed) 3-byte prefix not a continuation byte 494 (assert_malformed 495 (module binary 496 "\00asm" "\01\00\00\00" 497 "\00\04" ;; custom section 498 "\03\ed\c0\80" ;; "\ed\c0\80" 499 ) 500 "malformed UTF-8 encoding" 501 ) 502 503 ;; first byte after (0xed) 3-byte prefix not a continuation byte 504 (assert_malformed 505 (module binary 506 "\00asm" "\01\00\00\00" 507 "\00\04" ;; custom section 508 "\03\ed\fd\80" ;; "\ed\fd\80" 509 ) 510 "malformed UTF-8 encoding" 511 ) 512 513 ;; first byte after (normal) 3-byte prefix not a continuation byte 514 (assert_malformed 515 (module binary 516 "\00asm" "\01\00\00\00" 517 "\00\04" ;; custom section 518 "\03\ee\00\80" ;; "\ee\00\80" 519 ) 520 "malformed UTF-8 encoding" 521 ) 522 523 ;; first byte after (normal) 3-byte prefix not a continuation byte 524 (assert_malformed 525 (module binary 526 "\00asm" "\01\00\00\00" 527 "\00\04" ;; custom section 528 "\03\ee\7f\80" ;; "\ee\7f\80" 529 ) 530 "malformed UTF-8 encoding" 531 ) 532 533 ;; first byte after (normal) 3-byte prefix not a continuation byte 534 (assert_malformed 535 (module binary 536 "\00asm" "\01\00\00\00" 537 "\00\04" ;; custom section 538 "\03\ee\c0\80" ;; "\ee\c0\80" 539 ) 540 "malformed UTF-8 encoding" 541 ) 542 543 ;; first byte after (normal) 3-byte prefix not a continuation byte 544 (assert_malformed 545 (module binary 546 "\00asm" "\01\00\00\00" 547 "\00\04" ;; custom section 548 "\03\ee\fd\80" ;; "\ee\fd\80" 549 ) 550 "malformed UTF-8 encoding" 551 ) 552 553 ;; first byte after (last normal) 3-byte prefix not a continuation byte 554 (assert_malformed 555 (module binary 556 "\00asm" "\01\00\00\00" 557 "\00\04" ;; custom section 558 "\03\ef\00\80" ;; "\ef\00\80" 559 ) 560 "malformed UTF-8 encoding" 561 ) 562 563 ;; first byte after (last normal) 3-byte prefix not a continuation byte 564 (assert_malformed 565 (module binary 566 "\00asm" "\01\00\00\00" 567 "\00\04" ;; custom section 568 "\03\ef\7f\80" ;; "\ef\7f\80" 569 ) 570 "malformed UTF-8 encoding" 571 ) 572 573 ;; first byte after (last normal) 3-byte prefix not a continuation byte 574 (assert_malformed 575 (module binary 576 "\00asm" "\01\00\00\00" 577 "\00\04" ;; custom section 578 "\03\ef\c0\80" ;; "\ef\c0\80" 579 ) 580 "malformed UTF-8 encoding" 581 ) 582 583 ;; first byte after (last normal) 3-byte prefix not a continuation byte 584 (assert_malformed 585 (module binary 586 "\00asm" "\01\00\00\00" 587 "\00\04" ;; custom section 588 "\03\ef\fd\80" ;; "\ef\fd\80" 589 ) 590 "malformed UTF-8 encoding" 591 ) 592 593 ;;;; 3-byte sequence contents (third byte) 594 595 ;; second byte after (0xe0) 3-byte prefix not a continuation byte 596 (assert_malformed 597 (module binary 598 "\00asm" "\01\00\00\00" 599 "\00\04" ;; custom section 600 "\03\e0\a0\00" ;; "\e0\a0\00" 601 ) 602 "malformed UTF-8 encoding" 603 ) 604 605 ;; second byte after (0xe0) 3-byte prefix not a continuation byte 606 (assert_malformed 607 (module binary 608 "\00asm" "\01\00\00\00" 609 "\00\04" ;; custom section 610 "\03\e0\a0\7f" ;; "\e0\a0\7f" 611 ) 612 "malformed UTF-8 encoding" 613 ) 614 615 ;; second byte after (0xe0) 3-byte prefix not a continuation byte 616 (assert_malformed 617 (module binary 618 "\00asm" "\01\00\00\00" 619 "\00\04" ;; custom section 620 "\03\e0\a0\c0" ;; "\e0\a0\c0" 621 ) 622 "malformed UTF-8 encoding" 623 ) 624 625 ;; second byte after (0xe0) 3-byte prefix not a continuation byte 626 (assert_malformed 627 (module binary 628 "\00asm" "\01\00\00\00" 629 "\00\04" ;; custom section 630 "\03\e0\a0\fd" ;; "\e0\a0\fd" 631 ) 632 "malformed UTF-8 encoding" 633 ) 634 635 ;; second byte after (first normal) 3-byte prefix not a continuation byte 636 (assert_malformed 637 (module binary 638 "\00asm" "\01\00\00\00" 639 "\00\04" ;; custom section 640 "\03\e1\80\00" ;; "\e1\80\00" 641 ) 642 "malformed UTF-8 encoding" 643 ) 644 645 ;; second byte after (first normal) 3-byte prefix not a continuation byte 646 (assert_malformed 647 (module binary 648 "\00asm" "\01\00\00\00" 649 "\00\04" ;; custom section 650 "\03\e1\80\7f" ;; "\e1\80\7f" 651 ) 652 "malformed UTF-8 encoding" 653 ) 654 655 ;; second byte after (first normal) 3-byte prefix not a continuation byte 656 (assert_malformed 657 (module binary 658 "\00asm" "\01\00\00\00" 659 "\00\04" ;; custom section 660 "\03\e1\80\c0" ;; "\e1\80\c0" 661 ) 662 "malformed UTF-8 encoding" 663 ) 664 665 ;; second byte after (first normal) 3-byte prefix not a continuation byte 666 (assert_malformed 667 (module binary 668 "\00asm" "\01\00\00\00" 669 "\00\04" ;; custom section 670 "\03\e1\80\fd" ;; "\e1\80\fd" 671 ) 672 "malformed UTF-8 encoding" 673 ) 674 675 ;; second byte after (normal) 3-byte prefix not a continuation byte 676 (assert_malformed 677 (module binary 678 "\00asm" "\01\00\00\00" 679 "\00\04" ;; custom section 680 "\03\ec\80\00" ;; "\ec\80\00" 681 ) 682 "malformed UTF-8 encoding" 683 ) 684 685 ;; second byte after (normal) 3-byte prefix not a continuation byte 686 (assert_malformed 687 (module binary 688 "\00asm" "\01\00\00\00" 689 "\00\04" ;; custom section 690 "\03\ec\80\7f" ;; "\ec\80\7f" 691 ) 692 "malformed UTF-8 encoding" 693 ) 694 695 ;; second byte after (normal) 3-byte prefix not a continuation byte 696 (assert_malformed 697 (module binary 698 "\00asm" "\01\00\00\00" 699 "\00\04" ;; custom section 700 "\03\ec\80\c0" ;; "\ec\80\c0" 701 ) 702 "malformed UTF-8 encoding" 703 ) 704 705 ;; second byte after (normal) 3-byte prefix not a continuation byte 706 (assert_malformed 707 (module binary 708 "\00asm" "\01\00\00\00" 709 "\00\04" ;; custom section 710 "\03\ec\80\fd" ;; "\ec\80\fd" 711 ) 712 "malformed UTF-8 encoding" 713 ) 714 715 ;; second byte after (0xed) 3-byte prefix not a continuation byte 716 (assert_malformed 717 (module binary 718 "\00asm" "\01\00\00\00" 719 "\00\04" ;; custom section 720 "\03\ed\80\00" ;; "\ed\80\00" 721 ) 722 "malformed UTF-8 encoding" 723 ) 724 725 ;; second byte after (0xed) 3-byte prefix not a continuation byte 726 (assert_malformed 727 (module binary 728 "\00asm" "\01\00\00\00" 729 "\00\04" ;; custom section 730 "\03\ed\80\7f" ;; "\ed\80\7f" 731 ) 732 "malformed UTF-8 encoding" 733 ) 734 735 ;; second byte after (0xed) 3-byte prefix not a continuation byte 736 (assert_malformed 737 (module binary 738 "\00asm" "\01\00\00\00" 739 "\00\04" ;; custom section 740 "\03\ed\80\c0" ;; "\ed\80\c0" 741 ) 742 "malformed UTF-8 encoding" 743 ) 744 745 ;; second byte after (0xed) 3-byte prefix not a continuation byte 746 (assert_malformed 747 (module binary 748 "\00asm" "\01\00\00\00" 749 "\00\04" ;; custom section 750 "\03\ed\80\fd" ;; "\ed\80\fd" 751 ) 752 "malformed UTF-8 encoding" 753 ) 754 755 ;; second byte after (normal) 3-byte prefix not a continuation byte 756 (assert_malformed 757 (module binary 758 "\00asm" "\01\00\00\00" 759 "\00\04" ;; custom section 760 "\03\ee\80\00" ;; "\ee\80\00" 761 ) 762 "malformed UTF-8 encoding" 763 ) 764 765 ;; second byte after (normal) 3-byte prefix not a continuation byte 766 (assert_malformed 767 (module binary 768 "\00asm" "\01\00\00\00" 769 "\00\04" ;; custom section 770 "\03\ee\80\7f" ;; "\ee\80\7f" 771 ) 772 "malformed UTF-8 encoding" 773 ) 774 775 ;; second byte after (normal) 3-byte prefix not a continuation byte 776 (assert_malformed 777 (module binary 778 "\00asm" "\01\00\00\00" 779 "\00\04" ;; custom section 780 "\03\ee\80\c0" ;; "\ee\80\c0" 781 ) 782 "malformed UTF-8 encoding" 783 ) 784 785 ;; second byte after (normal) 3-byte prefix not a continuation byte 786 (assert_malformed 787 (module binary 788 "\00asm" "\01\00\00\00" 789 "\00\04" ;; custom section 790 "\03\ee\80\fd" ;; "\ee\80\fd" 791 ) 792 "malformed UTF-8 encoding" 793 ) 794 795 ;; second byte after (last normal) 3-byte prefix not a continuation byte 796 (assert_malformed 797 (module binary 798 "\00asm" "\01\00\00\00" 799 "\00\04" ;; custom section 800 "\03\ef\80\00" ;; "\ef\80\00" 801 ) 802 "malformed UTF-8 encoding" 803 ) 804 805 ;; second byte after (last normal) 3-byte prefix not a continuation byte 806 (assert_malformed 807 (module binary 808 "\00asm" "\01\00\00\00" 809 "\00\04" ;; custom section 810 "\03\ef\80\7f" ;; "\ef\80\7f" 811 ) 812 "malformed UTF-8 encoding" 813 ) 814 815 ;; second byte after (last normal) 3-byte prefix not a continuation byte 816 (assert_malformed 817 (module binary 818 "\00asm" "\01\00\00\00" 819 "\00\04" ;; custom section 820 "\03\ef\80\c0" ;; "\ef\80\c0" 821 ) 822 "malformed UTF-8 encoding" 823 ) 824 825 ;; second byte after (last normal) 3-byte prefix not a continuation byte 826 (assert_malformed 827 (module binary 828 "\00asm" "\01\00\00\00" 829 "\00\04" ;; custom section 830 "\03\ef\80\fd" ;; "\ef\80\fd" 831 ) 832 "malformed UTF-8 encoding" 833 ) 834 835 ;;;; 4-byte sequences 836 837 ;; 4-byte sequence contains 5 bytes 838 (assert_malformed 839 (module binary 840 "\00asm" "\01\00\00\00" 841 "\00\06" ;; custom section 842 "\05\f1\80\80\80\80" ;; "\f1\80\80\80\80" 843 ) 844 "malformed UTF-8 encoding" 845 ) 846 847 ;; 4-byte sequence contains 3 bytes at end of string 848 (assert_malformed 849 (module binary 850 "\00asm" "\01\00\00\00" 851 "\00\04" ;; custom section 852 "\03\f1\80\80" ;; "\f1\80\80" 853 ) 854 "malformed UTF-8 encoding" 855 ) 856 857 ;; 4-byte sequence contains 3 bytes 858 (assert_malformed 859 (module binary 860 "\00asm" "\01\00\00\00" 861 "\00\05" ;; custom section 862 "\04\f1\80\80\23" ;; "\f1\80\80#" 863 ) 864 "malformed UTF-8 encoding" 865 ) 866 867 ;; 4-byte sequence contains 2 bytes at end of string 868 (assert_malformed 869 (module binary 870 "\00asm" "\01\00\00\00" 871 "\00\03" ;; custom section 872 "\02\f1\80" ;; "\f1\80" 873 ) 874 "malformed UTF-8 encoding" 875 ) 876 877 ;; 4-byte sequence contains 2 bytes 878 (assert_malformed 879 (module binary 880 "\00asm" "\01\00\00\00" 881 "\00\04" ;; custom section 882 "\03\f1\80\23" ;; "\f1\80#" 883 ) 884 "malformed UTF-8 encoding" 885 ) 886 887 ;; 4-byte sequence contains 1 byte at end of string 888 (assert_malformed 889 (module binary 890 "\00asm" "\01\00\00\00" 891 "\00\02" ;; custom section 892 "\01\f1" ;; "\f1" 893 ) 894 "malformed UTF-8 encoding" 895 ) 896 897 ;; 4-byte sequence contains 1 byte 898 (assert_malformed 899 (module binary 900 "\00asm" "\01\00\00\00" 901 "\00\03" ;; custom section 902 "\02\f1\23" ;; "\f1#" 903 ) 904 "malformed UTF-8 encoding" 905 ) 906 907 ;;;; 4-byte sequence contents 908 909 ;; first byte after (0xf0) 4-byte prefix not a continuation byte 910 (assert_malformed 911 (module binary 912 "\00asm" "\01\00\00\00" 913 "\00\05" ;; custom section 914 "\04\f0\00\90\90" ;; "\f0\00\90\90" 915 ) 916 "malformed UTF-8 encoding" 917 ) 918 919 ;; first byte after (0xf0) 4-byte prefix not a continuation byte 920 (assert_malformed 921 (module binary 922 "\00asm" "\01\00\00\00" 923 "\00\05" ;; custom section 924 "\04\f0\7f\90\90" ;; "\f0\7f\90\90" 925 ) 926 "malformed UTF-8 encoding" 927 ) 928 929 ;; overlong encoding after 0xf0 prefix 930 (assert_malformed 931 (module binary 932 "\00asm" "\01\00\00\00" 933 "\00\05" ;; custom section 934 "\04\f0\80\80\80" ;; "\f0\80\80\80" 935 ) 936 "malformed UTF-8 encoding" 937 ) 938 939 ;; overlong encoding after 0xf0 prefix 940 (assert_malformed 941 (module binary 942 "\00asm" "\01\00\00\00" 943 "\00\05" ;; custom section 944 "\04\f0\80\90\90" ;; "\f0\80\90\90" 945 ) 946 "malformed UTF-8 encoding" 947 ) 948 949 ;; overlong encoding after 0xf0 prefix 950 (assert_malformed 951 (module binary 952 "\00asm" "\01\00\00\00" 953 "\00\05" ;; custom section 954 "\04\f0\8f\90\90" ;; "\f0\8f\90\90" 955 ) 956 "malformed UTF-8 encoding" 957 ) 958 959 ;; overlong encoding after 0xf0 prefix 960 (assert_malformed 961 (module binary 962 "\00asm" "\01\00\00\00" 963 "\00\05" ;; custom section 964 "\04\f0\8f\bf\bf" ;; "\f0\8f\bf\bf" 965 ) 966 "malformed UTF-8 encoding" 967 ) 968 969 ;; first byte after (0xf0) 4-byte prefix not a continuation byte 970 (assert_malformed 971 (module binary 972 "\00asm" "\01\00\00\00" 973 "\00\05" ;; custom section 974 "\04\f0\c0\90\90" ;; "\f0\c0\90\90" 975 ) 976 "malformed UTF-8 encoding" 977 ) 978 979 ;; first byte after (0xf0) 4-byte prefix not a continuation byte 980 (assert_malformed 981 (module binary 982 "\00asm" "\01\00\00\00" 983 "\00\05" ;; custom section 984 "\04\f0\fd\90\90" ;; "\f0\fd\90\90" 985 ) 986 "malformed UTF-8 encoding" 987 ) 988 989 ;; first byte after (first normal) 4-byte prefix not a continuation byte 990 (assert_malformed 991 (module binary 992 "\00asm" "\01\00\00\00" 993 "\00\05" ;; custom section 994 "\04\f1\00\80\80" ;; "\f1\00\80\80" 995 ) 996 "malformed UTF-8 encoding" 997 ) 998 999 ;; first byte after (first normal) 4-byte prefix not a continuation byte 1000 (assert_malformed 1001 (module binary 1002 "\00asm" "\01\00\00\00" 1003 "\00\05" ;; custom section 1004 "\04\f1\7f\80\80" ;; "\f1\7f\80\80" 1005 ) 1006 "malformed UTF-8 encoding" 1007 ) 1008 1009 ;; first byte after (first normal) 4-byte prefix not a continuation byte 1010 (assert_malformed 1011 (module binary 1012 "\00asm" "\01\00\00\00" 1013 "\00\05" ;; custom section 1014 "\04\f1\c0\80\80" ;; "\f1\c0\80\80" 1015 ) 1016 "malformed UTF-8 encoding" 1017 ) 1018 1019 ;; first byte after (first normal) 4-byte prefix not a continuation byte 1020 (assert_malformed 1021 (module binary 1022 "\00asm" "\01\00\00\00" 1023 "\00\05" ;; custom section 1024 "\04\f1\fd\80\80" ;; "\f1\fd\80\80" 1025 ) 1026 "malformed UTF-8 encoding" 1027 ) 1028 1029 ;; first byte after (last normal) 4-byte prefix not a continuation byte 1030 (assert_malformed 1031 (module binary 1032 "\00asm" "\01\00\00\00" 1033 "\00\05" ;; custom section 1034 "\04\f3\00\80\80" ;; "\f3\00\80\80" 1035 ) 1036 "malformed UTF-8 encoding" 1037 ) 1038 1039 ;; first byte after (last normal) 4-byte prefix not a continuation byte 1040 (assert_malformed 1041 (module binary 1042 "\00asm" "\01\00\00\00" 1043 "\00\05" ;; custom section 1044 "\04\f3\7f\80\80" ;; "\f3\7f\80\80" 1045 ) 1046 "malformed UTF-8 encoding" 1047 ) 1048 1049 ;; first byte after (last normal) 4-byte prefix not a continuation byte 1050 (assert_malformed 1051 (module binary 1052 "\00asm" "\01\00\00\00" 1053 "\00\05" ;; custom section 1054 "\04\f3\c0\80\80" ;; "\f3\c0\80\80" 1055 ) 1056 "malformed UTF-8 encoding" 1057 ) 1058 1059 ;; first byte after (last normal) 4-byte prefix not a continuation byte 1060 (assert_malformed 1061 (module binary 1062 "\00asm" "\01\00\00\00" 1063 "\00\05" ;; custom section 1064 "\04\f3\fd\80\80" ;; "\f3\fd\80\80" 1065 ) 1066 "malformed UTF-8 encoding" 1067 ) 1068 1069 ;; first byte after (0xf4) 4-byte prefix not a continuation byte 1070 (assert_malformed 1071 (module binary 1072 "\00asm" "\01\00\00\00" 1073 "\00\05" ;; custom section 1074 "\04\f4\00\80\80" ;; "\f4\00\80\80" 1075 ) 1076 "malformed UTF-8 encoding" 1077 ) 1078 1079 ;; first byte after (0xf4) 4-byte prefix not a continuation byte 1080 (assert_malformed 1081 (module binary 1082 "\00asm" "\01\00\00\00" 1083 "\00\05" ;; custom section 1084 "\04\f4\7f\80\80" ;; "\f4\7f\80\80" 1085 ) 1086 "malformed UTF-8 encoding" 1087 ) 1088 1089 ;; (first) malformed code point 1090 (assert_malformed 1091 (module binary 1092 "\00asm" "\01\00\00\00" 1093 "\00\05" ;; custom section 1094 "\04\f4\90\80\80" ;; "\f4\90\80\80" 1095 ) 1096 "malformed UTF-8 encoding" 1097 ) 1098 1099 ;; malformed code point 1100 (assert_malformed 1101 (module binary 1102 "\00asm" "\01\00\00\00" 1103 "\00\05" ;; custom section 1104 "\04\f4\bf\80\80" ;; "\f4\bf\80\80" 1105 ) 1106 "malformed UTF-8 encoding" 1107 ) 1108 1109 ;; first byte after (0xf4) 4-byte prefix not a continuation byte 1110 (assert_malformed 1111 (module binary 1112 "\00asm" "\01\00\00\00" 1113 "\00\05" ;; custom section 1114 "\04\f4\c0\80\80" ;; "\f4\c0\80\80" 1115 ) 1116 "malformed UTF-8 encoding" 1117 ) 1118 1119 ;; first byte after (0xf4) 4-byte prefix not a continuation byte 1120 (assert_malformed 1121 (module binary 1122 "\00asm" "\01\00\00\00" 1123 "\00\05" ;; custom section 1124 "\04\f4\fd\80\80" ;; "\f4\fd\80\80" 1125 ) 1126 "malformed UTF-8 encoding" 1127 ) 1128 1129 ;; (first) malformed 4-byte prefix 1130 (assert_malformed 1131 (module binary 1132 "\00asm" "\01\00\00\00" 1133 "\00\05" ;; custom section 1134 "\04\f5\80\80\80" ;; "\f5\80\80\80" 1135 ) 1136 "malformed UTF-8 encoding" 1137 ) 1138 1139 ;; (last) malformed 4-byte prefix 1140 (assert_malformed 1141 (module binary 1142 "\00asm" "\01\00\00\00" 1143 "\00\05" ;; custom section 1144 "\04\f7\80\80\80" ;; "\f7\80\80\80" 1145 ) 1146 "malformed UTF-8 encoding" 1147 ) 1148 1149 ;; (last) malformed 4-byte prefix 1150 (assert_malformed 1151 (module binary 1152 "\00asm" "\01\00\00\00" 1153 "\00\05" ;; custom section 1154 "\04\f7\bf\bf\bf" ;; "\f7\bf\bf\bf" 1155 ) 1156 "malformed UTF-8 encoding" 1157 ) 1158 1159 ;;;; 4-byte sequence contents (third byte) 1160 1161 ;; second byte after (0xf0) 4-byte prefix not a continuation byte 1162 (assert_malformed 1163 (module binary 1164 "\00asm" "\01\00\00\00" 1165 "\00\05" ;; custom section 1166 "\04\f0\90\00\90" ;; "\f0\90\00\90" 1167 ) 1168 "malformed UTF-8 encoding" 1169 ) 1170 1171 ;; second byte after (0xf0) 4-byte prefix not a continuation byte 1172 (assert_malformed 1173 (module binary 1174 "\00asm" "\01\00\00\00" 1175 "\00\05" ;; custom section 1176 "\04\f0\90\7f\90" ;; "\f0\90\7f\90" 1177 ) 1178 "malformed UTF-8 encoding" 1179 ) 1180 1181 ;; second byte after (0xf0) 4-byte prefix not a continuation byte 1182 (assert_malformed 1183 (module binary 1184 "\00asm" "\01\00\00\00" 1185 "\00\05" ;; custom section 1186 "\04\f0\90\c0\90" ;; "\f0\90\c0\90" 1187 ) 1188 "malformed UTF-8 encoding" 1189 ) 1190 1191 ;; second byte after (0xf0) 4-byte prefix not a continuation byte 1192 (assert_malformed 1193 (module binary 1194 "\00asm" "\01\00\00\00" 1195 "\00\05" ;; custom section 1196 "\04\f0\90\fd\90" ;; "\f0\90\fd\90" 1197 ) 1198 "malformed UTF-8 encoding" 1199 ) 1200 1201 ;; second byte after (first normal) 4-byte prefix not a continuation byte 1202 (assert_malformed 1203 (module binary 1204 "\00asm" "\01\00\00\00" 1205 "\00\05" ;; custom section 1206 "\04\f1\80\00\80" ;; "\f1\80\00\80" 1207 ) 1208 "malformed UTF-8 encoding" 1209 ) 1210 1211 ;; second byte after (first normal) 4-byte prefix not a continuation byte 1212 (assert_malformed 1213 (module binary 1214 "\00asm" "\01\00\00\00" 1215 "\00\05" ;; custom section 1216 "\04\f1\80\7f\80" ;; "\f1\80\7f\80" 1217 ) 1218 "malformed UTF-8 encoding" 1219 ) 1220 1221 ;; second byte after (first normal) 4-byte prefix not a continuation byte 1222 (assert_malformed 1223 (module binary 1224 "\00asm" "\01\00\00\00" 1225 "\00\05" ;; custom section 1226 "\04\f1\80\c0\80" ;; "\f1\80\c0\80" 1227 ) 1228 "malformed UTF-8 encoding" 1229 ) 1230 1231 ;; second byte after (first normal) 4-byte prefix not a continuation byte 1232 (assert_malformed 1233 (module binary 1234 "\00asm" "\01\00\00\00" 1235 "\00\05" ;; custom section 1236 "\04\f1\80\fd\80" ;; "\f1\80\fd\80" 1237 ) 1238 "malformed UTF-8 encoding" 1239 ) 1240 1241 ;; second byte after (last normal) 4-byte prefix not a continuation byte 1242 (assert_malformed 1243 (module binary 1244 "\00asm" "\01\00\00\00" 1245 "\00\05" ;; custom section 1246 "\04\f3\80\00\80" ;; "\f3\80\00\80" 1247 ) 1248 "malformed UTF-8 encoding" 1249 ) 1250 1251 ;; second byte after (last normal) 4-byte prefix not a continuation byte 1252 (assert_malformed 1253 (module binary 1254 "\00asm" "\01\00\00\00" 1255 "\00\05" ;; custom section 1256 "\04\f3\80\7f\80" ;; "\f3\80\7f\80" 1257 ) 1258 "malformed UTF-8 encoding" 1259 ) 1260 1261 ;; second byte after (last normal) 4-byte prefix not a continuation byte 1262 (assert_malformed 1263 (module binary 1264 "\00asm" "\01\00\00\00" 1265 "\00\05" ;; custom section 1266 "\04\f3\80\c0\80" ;; "\f3\80\c0\80" 1267 ) 1268 "malformed UTF-8 encoding" 1269 ) 1270 1271 ;; second byte after (last normal) 4-byte prefix not a continuation byte 1272 (assert_malformed 1273 (module binary 1274 "\00asm" "\01\00\00\00" 1275 "\00\05" ;; custom section 1276 "\04\f3\80\fd\80" ;; "\f3\80\fd\80" 1277 ) 1278 "malformed UTF-8 encoding" 1279 ) 1280 1281 ;; second byte after (0xf4) 4-byte prefix not a continuation byte 1282 (assert_malformed 1283 (module binary 1284 "\00asm" "\01\00\00\00" 1285 "\00\05" ;; custom section 1286 "\04\f4\80\00\80" ;; "\f4\80\00\80" 1287 ) 1288 "malformed UTF-8 encoding" 1289 ) 1290 1291 ;; second byte after (0xf4) 4-byte prefix not a continuation byte 1292 (assert_malformed 1293 (module binary 1294 "\00asm" "\01\00\00\00" 1295 "\00\05" ;; custom section 1296 "\04\f4\80\7f\80" ;; "\f4\80\7f\80" 1297 ) 1298 "malformed UTF-8 encoding" 1299 ) 1300 1301 ;; second byte after (0xf4) 4-byte prefix not a continuation byte 1302 (assert_malformed 1303 (module binary 1304 "\00asm" "\01\00\00\00" 1305 "\00\05" ;; custom section 1306 "\04\f4\80\c0\80" ;; "\f4\80\c0\80" 1307 ) 1308 "malformed UTF-8 encoding" 1309 ) 1310 1311 ;; second byte after (0xf4) 4-byte prefix not a continuation byte 1312 (assert_malformed 1313 (module binary 1314 "\00asm" "\01\00\00\00" 1315 "\00\05" ;; custom section 1316 "\04\f4\80\fd\80" ;; "\f4\80\fd\80" 1317 ) 1318 "malformed UTF-8 encoding" 1319 ) 1320 1321 ;;;; 4-byte sequence contents (fourth byte) 1322 1323 ;; third byte after (0xf0) 4-byte prefix not a continuation byte 1324 (assert_malformed 1325 (module binary 1326 "\00asm" "\01\00\00\00" 1327 "\00\05" ;; custom section 1328 "\04\f0\90\90\00" ;; "\f0\90\90\00" 1329 ) 1330 "malformed UTF-8 encoding" 1331 ) 1332 1333 ;; third byte after (0xf0) 4-byte prefix not a continuation byte 1334 (assert_malformed 1335 (module binary 1336 "\00asm" "\01\00\00\00" 1337 "\00\05" ;; custom section 1338 "\04\f0\90\90\7f" ;; "\f0\90\90\7f" 1339 ) 1340 "malformed UTF-8 encoding" 1341 ) 1342 1343 ;; third byte after (0xf0) 4-byte prefix not a continuation byte 1344 (assert_malformed 1345 (module binary 1346 "\00asm" "\01\00\00\00" 1347 "\00\05" ;; custom section 1348 "\04\f0\90\90\c0" ;; "\f0\90\90\c0" 1349 ) 1350 "malformed UTF-8 encoding" 1351 ) 1352 1353 ;; third byte after (0xf0) 4-byte prefix not a continuation byte 1354 (assert_malformed 1355 (module binary 1356 "\00asm" "\01\00\00\00" 1357 "\00\05" ;; custom section 1358 "\04\f0\90\90\fd" ;; "\f0\90\90\fd" 1359 ) 1360 "malformed UTF-8 encoding" 1361 ) 1362 1363 ;; third byte after (first normal) 4-byte prefix not a continuation byte 1364 (assert_malformed 1365 (module binary 1366 "\00asm" "\01\00\00\00" 1367 "\00\05" ;; custom section 1368 "\04\f1\80\80\00" ;; "\f1\80\80\00" 1369 ) 1370 "malformed UTF-8 encoding" 1371 ) 1372 1373 ;; third byte after (first normal) 4-byte prefix not a continuation byte 1374 (assert_malformed 1375 (module binary 1376 "\00asm" "\01\00\00\00" 1377 "\00\05" ;; custom section 1378 "\04\f1\80\80\7f" ;; "\f1\80\80\7f" 1379 ) 1380 "malformed UTF-8 encoding" 1381 ) 1382 1383 ;; third byte after (first normal) 4-byte prefix not a continuation byte 1384 (assert_malformed 1385 (module binary 1386 "\00asm" "\01\00\00\00" 1387 "\00\05" ;; custom section 1388 "\04\f1\80\80\c0" ;; "\f1\80\80\c0" 1389 ) 1390 "malformed UTF-8 encoding" 1391 ) 1392 1393 ;; third byte after (first normal) 4-byte prefix not a continuation byte 1394 (assert_malformed 1395 (module binary 1396 "\00asm" "\01\00\00\00" 1397 "\00\05" ;; custom section 1398 "\04\f1\80\80\fd" ;; "\f1\80\80\fd" 1399 ) 1400 "malformed UTF-8 encoding" 1401 ) 1402 1403 ;; third byte after (last normal) 4-byte prefix not a continuation byte 1404 (assert_malformed 1405 (module binary 1406 "\00asm" "\01\00\00\00" 1407 "\00\05" ;; custom section 1408 "\04\f3\80\80\00" ;; "\f3\80\80\00" 1409 ) 1410 "malformed UTF-8 encoding" 1411 ) 1412 1413 ;; third byte after (last normal) 4-byte prefix not a continuation byte 1414 (assert_malformed 1415 (module binary 1416 "\00asm" "\01\00\00\00" 1417 "\00\05" ;; custom section 1418 "\04\f3\80\80\7f" ;; "\f3\80\80\7f" 1419 ) 1420 "malformed UTF-8 encoding" 1421 ) 1422 1423 ;; third byte after (last normal) 4-byte prefix not a continuation byte 1424 (assert_malformed 1425 (module binary 1426 "\00asm" "\01\00\00\00" 1427 "\00\05" ;; custom section 1428 "\04\f3\80\80\c0" ;; "\f3\80\80\c0" 1429 ) 1430 "malformed UTF-8 encoding" 1431 ) 1432 1433 ;; third byte after (last normal) 4-byte prefix not a continuation byte 1434 (assert_malformed 1435 (module binary 1436 "\00asm" "\01\00\00\00" 1437 "\00\05" ;; custom section 1438 "\04\f3\80\80\fd" ;; "\f3\80\80\fd" 1439 ) 1440 "malformed UTF-8 encoding" 1441 ) 1442 1443 ;; third byte after (0xf4) 4-byte prefix not a continuation byte 1444 (assert_malformed 1445 (module binary 1446 "\00asm" "\01\00\00\00" 1447 "\00\05" ;; custom section 1448 "\04\f4\80\80\00" ;; "\f4\80\80\00" 1449 ) 1450 "malformed UTF-8 encoding" 1451 ) 1452 1453 ;; third byte after (0xf4) 4-byte prefix not a continuation byte 1454 (assert_malformed 1455 (module binary 1456 "\00asm" "\01\00\00\00" 1457 "\00\05" ;; custom section 1458 "\04\f4\80\80\7f" ;; "\f4\80\80\7f" 1459 ) 1460 "malformed UTF-8 encoding" 1461 ) 1462 1463 ;; third byte after (0xf4) 4-byte prefix not a continuation byte 1464 (assert_malformed 1465 (module binary 1466 "\00asm" "\01\00\00\00" 1467 "\00\05" ;; custom section 1468 "\04\f4\80\80\c0" ;; "\f4\80\80\c0" 1469 ) 1470 "malformed UTF-8 encoding" 1471 ) 1472 1473 ;; third byte after (0xf4) 4-byte prefix not a continuation byte 1474 (assert_malformed 1475 (module binary 1476 "\00asm" "\01\00\00\00" 1477 "\00\05" ;; custom section 1478 "\04\f4\80\80\fd" ;; "\f4\80\80\fd" 1479 ) 1480 "malformed UTF-8 encoding" 1481 ) 1482 1483 ;;;; 5-byte sequences 1484 1485 ;; 5-byte sequence contains 6 bytes 1486 (assert_malformed 1487 (module binary 1488 "\00asm" "\01\00\00\00" 1489 "\00\07" ;; custom section 1490 "\06\f8\80\80\80\80\80" ;; "\f8\80\80\80\80\80" 1491 ) 1492 "malformed UTF-8 encoding" 1493 ) 1494 1495 ;; 5-byte sequence contains 4 bytes at end of string 1496 (assert_malformed 1497 (module binary 1498 "\00asm" "\01\00\00\00" 1499 "\00\05" ;; custom section 1500 "\04\f8\80\80\80" ;; "\f8\80\80\80" 1501 ) 1502 "malformed UTF-8 encoding" 1503 ) 1504 1505 ;; 5-byte sequence contains 4 bytes 1506 (assert_malformed 1507 (module binary 1508 "\00asm" "\01\00\00\00" 1509 "\00\06" ;; custom section 1510 "\05\f8\80\80\80\23" ;; "\f8\80\80\80#" 1511 ) 1512 "malformed UTF-8 encoding" 1513 ) 1514 1515 ;; 5-byte sequence contains 3 bytes at end of string 1516 (assert_malformed 1517 (module binary 1518 "\00asm" "\01\00\00\00" 1519 "\00\04" ;; custom section 1520 "\03\f8\80\80" ;; "\f8\80\80" 1521 ) 1522 "malformed UTF-8 encoding" 1523 ) 1524 1525 ;; 5-byte sequence contains 3 bytes 1526 (assert_malformed 1527 (module binary 1528 "\00asm" "\01\00\00\00" 1529 "\00\05" ;; custom section 1530 "\04\f8\80\80\23" ;; "\f8\80\80#" 1531 ) 1532 "malformed UTF-8 encoding" 1533 ) 1534 1535 ;; 5-byte sequence contains 2 bytes at end of string 1536 (assert_malformed 1537 (module binary 1538 "\00asm" "\01\00\00\00" 1539 "\00\03" ;; custom section 1540 "\02\f8\80" ;; "\f8\80" 1541 ) 1542 "malformed UTF-8 encoding" 1543 ) 1544 1545 ;; 5-byte sequence contains 2 bytes 1546 (assert_malformed 1547 (module binary 1548 "\00asm" "\01\00\00\00" 1549 "\00\04" ;; custom section 1550 "\03\f8\80\23" ;; "\f8\80#" 1551 ) 1552 "malformed UTF-8 encoding" 1553 ) 1554 1555 ;; 5-byte sequence contains 1 byte at end of string 1556 (assert_malformed 1557 (module binary 1558 "\00asm" "\01\00\00\00" 1559 "\00\02" ;; custom section 1560 "\01\f8" ;; "\f8" 1561 ) 1562 "malformed UTF-8 encoding" 1563 ) 1564 1565 ;; 5-byte sequence contains 1 byte 1566 (assert_malformed 1567 (module binary 1568 "\00asm" "\01\00\00\00" 1569 "\00\03" ;; custom section 1570 "\02\f8\23" ;; "\f8#" 1571 ) 1572 "malformed UTF-8 encoding" 1573 ) 1574 1575 ;;;; 5-byte sequence contents 1576 1577 ;; (first) malformed 5-byte prefix 1578 (assert_malformed 1579 (module binary 1580 "\00asm" "\01\00\00\00" 1581 "\00\06" ;; custom section 1582 "\05\f8\80\80\80\80" ;; "\f8\80\80\80\80" 1583 ) 1584 "malformed UTF-8 encoding" 1585 ) 1586 1587 ;; (last) malformed 5-byte prefix 1588 (assert_malformed 1589 (module binary 1590 "\00asm" "\01\00\00\00" 1591 "\00\06" ;; custom section 1592 "\05\fb\bf\bf\bf\bf" ;; "\fb\bf\bf\bf\bf" 1593 ) 1594 "malformed UTF-8 encoding" 1595 ) 1596 1597 ;;;; 6-byte sequences 1598 1599 ;; 6-byte sequence contains 7 bytes 1600 (assert_malformed 1601 (module binary 1602 "\00asm" "\01\00\00\00" 1603 "\00\08" ;; custom section 1604 "\07\fc\80\80\80\80\80\80" ;; "\fc\80\80\80\80\80\80" 1605 ) 1606 "malformed UTF-8 encoding" 1607 ) 1608 1609 ;; 6-byte sequence contains 5 bytes at end of string 1610 (assert_malformed 1611 (module binary 1612 "\00asm" "\01\00\00\00" 1613 "\00\06" ;; custom section 1614 "\05\fc\80\80\80\80" ;; "\fc\80\80\80\80" 1615 ) 1616 "malformed UTF-8 encoding" 1617 ) 1618 1619 ;; 6-byte sequence contains 5 bytes 1620 (assert_malformed 1621 (module binary 1622 "\00asm" "\01\00\00\00" 1623 "\00\07" ;; custom section 1624 "\06\fc\80\80\80\80\23" ;; "\fc\80\80\80\80#" 1625 ) 1626 "malformed UTF-8 encoding" 1627 ) 1628 1629 ;; 6-byte sequence contains 4 bytes at end of string 1630 (assert_malformed 1631 (module binary 1632 "\00asm" "\01\00\00\00" 1633 "\00\05" ;; custom section 1634 "\04\fc\80\80\80" ;; "\fc\80\80\80" 1635 ) 1636 "malformed UTF-8 encoding" 1637 ) 1638 1639 ;; 6-byte sequence contains 4 bytes 1640 (assert_malformed 1641 (module binary 1642 "\00asm" "\01\00\00\00" 1643 "\00\06" ;; custom section 1644 "\05\fc\80\80\80\23" ;; "\fc\80\80\80#" 1645 ) 1646 "malformed UTF-8 encoding" 1647 ) 1648 1649 ;; 6-byte sequence contains 3 bytes at end of string 1650 (assert_malformed 1651 (module binary 1652 "\00asm" "\01\00\00\00" 1653 "\00\04" ;; custom section 1654 "\03\fc\80\80" ;; "\fc\80\80" 1655 ) 1656 "malformed UTF-8 encoding" 1657 ) 1658 1659 ;; 6-byte sequence contains 3 bytes 1660 (assert_malformed 1661 (module binary 1662 "\00asm" "\01\00\00\00" 1663 "\00\05" ;; custom section 1664 "\04\fc\80\80\23" ;; "\fc\80\80#" 1665 ) 1666 "malformed UTF-8 encoding" 1667 ) 1668 1669 ;; 6-byte sequence contains 2 bytes at end of string 1670 (assert_malformed 1671 (module binary 1672 "\00asm" "\01\00\00\00" 1673 "\00\03" ;; custom section 1674 "\02\fc\80" ;; "\fc\80" 1675 ) 1676 "malformed UTF-8 encoding" 1677 ) 1678 1679 ;; 6-byte sequence contains 2 bytes 1680 (assert_malformed 1681 (module binary 1682 "\00asm" "\01\00\00\00" 1683 "\00\04" ;; custom section 1684 "\03\fc\80\23" ;; "\fc\80#" 1685 ) 1686 "malformed UTF-8 encoding" 1687 ) 1688 1689 ;; 6-byte sequence contains 1 byte at end of string 1690 (assert_malformed 1691 (module binary 1692 "\00asm" "\01\00\00\00" 1693 "\00\02" ;; custom section 1694 "\01\fc" ;; "\fc" 1695 ) 1696 "malformed UTF-8 encoding" 1697 ) 1698 1699 ;; 6-byte sequence contains 1 byte 1700 (assert_malformed 1701 (module binary 1702 "\00asm" "\01\00\00\00" 1703 "\00\03" ;; custom section 1704 "\02\fc\23" ;; "\fc#" 1705 ) 1706 "malformed UTF-8 encoding" 1707 ) 1708 1709 ;;;; 6-byte sequence contents 1710 1711 ;; (first) malformed 6-byte prefix 1712 (assert_malformed 1713 (module binary 1714 "\00asm" "\01\00\00\00" 1715 "\00\07" ;; custom section 1716 "\06\fc\80\80\80\80\80" ;; "\fc\80\80\80\80\80" 1717 ) 1718 "malformed UTF-8 encoding" 1719 ) 1720 1721 ;; (last) malformed 6-byte prefix 1722 (assert_malformed 1723 (module binary 1724 "\00asm" "\01\00\00\00" 1725 "\00\07" ;; custom section 1726 "\06\fd\bf\bf\bf\bf\bf" ;; "\fd\bf\bf\bf\bf\bf" 1727 ) 1728 "malformed UTF-8 encoding" 1729 ) 1730 1731 ;;;; Miscellaneous malformed bytes 1732 1733 ;; malformed byte 1734 (assert_malformed 1735 (module binary 1736 "\00asm" "\01\00\00\00" 1737 "\00\02" ;; custom section 1738 "\01\fe" ;; "\fe" 1739 ) 1740 "malformed UTF-8 encoding" 1741 ) 1742 1743 ;; malformed byte 1744 (assert_malformed 1745 (module binary 1746 "\00asm" "\01\00\00\00" 1747 "\00\02" ;; custom section 1748 "\01\ff" ;; "\ff" 1749 ) 1750 "malformed UTF-8 encoding" 1751 ) 1752 1753 ;; UTF-16BE BOM 1754 (assert_malformed 1755 (module binary 1756 "\00asm" "\01\00\00\00" 1757 "\00\03" ;; custom section 1758 "\02\fe\ff" ;; "\fe\ff" 1759 ) 1760 "malformed UTF-8 encoding" 1761 ) 1762 1763 ;; UTF-32BE BOM 1764 (assert_malformed 1765 (module binary 1766 "\00asm" "\01\00\00\00" 1767 "\00\05" ;; custom section 1768 "\04\00\00\fe\ff" ;; "\00\00\fe\ff" 1769 ) 1770 "malformed UTF-8 encoding" 1771 ) 1772 1773 ;; UTF-16LE BOM 1774 (assert_malformed 1775 (module binary 1776 "\00asm" "\01\00\00\00" 1777 "\00\03" ;; custom section 1778 "\02\ff\fe" ;; "\ff\fe" 1779 ) 1780 "malformed UTF-8 encoding" 1781 ) 1782 1783 ;; UTF-32LE BOM 1784 (assert_malformed 1785 (module binary 1786 "\00asm" "\01\00\00\00" 1787 "\00\05" ;; custom section 1788 "\04\ff\fe\00\00" ;; "\ff\fe\00\00" 1789 ) 1790 "malformed UTF-8 encoding" 1791 ) 1792