Commit cbc8a1c
committed
Auto merge of #25013 - pnkfelix:span_to_lines-oflo, r=huonw
Guard against overflow in `codemap::span_to_lines`.
(Revised/expanded version of PR #24976)
Make `span_to_lines` to return a `Result`.
In `diagnostic`, catch `Err` from `span_to_lines` and print `"(unprintable span)"` instead.
----
There a number of recent issues that report the bug here. See e.g. #24761 and #24954.
This change *might* fix them. However, that is *not* its main goal. The main goals are:
1. Make it possible for callers to recover from an error here, and
2. Insert a more conservative check, in that we are also checking that the files match up.
----
As a drive-by, fix #24997 , which was causing my attempts to `make check-stage1` on an `--enable-debug` build to fail.File tree
4 files changed
+71
-15
lines changed- src
- libcore
- libsyntax
- test/run-pass
4 files changed
+71
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
631 | 631 | | |
632 | 632 | | |
633 | 633 | | |
634 | | - | |
635 | | - | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
636 | 642 | | |
637 | 643 | | |
638 | 644 | | |
| |||
643 | 649 | | |
644 | 650 | | |
645 | 651 | | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
646 | 664 | | |
647 | 665 | | |
648 | 666 | | |
| |||
672 | 690 | | |
673 | 691 | | |
674 | 692 | | |
675 | | - | |
| 693 | + | |
676 | 694 | | |
677 | 695 | | |
678 | 696 | | |
| |||
714 | 732 | | |
715 | 733 | | |
716 | 734 | | |
717 | | - | |
| 735 | + | |
718 | 736 | | |
719 | 737 | | |
720 | 738 | | |
| |||
776 | 794 | | |
777 | 795 | | |
778 | 796 | | |
779 | | - | |
| 797 | + | |
780 | 798 | | |
781 | 799 | | |
782 | 800 | | |
| |||
849 | 867 | | |
850 | 868 | | |
851 | 869 | | |
852 | | - | |
| 870 | + | |
853 | 871 | | |
854 | 872 | | |
855 | 873 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
663 | 663 | | |
664 | 664 | | |
665 | 665 | | |
666 | | - | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
667 | 671 | | |
668 | 672 | | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
669 | 682 | | |
670 | 683 | | |
671 | 684 | | |
| |||
689 | 702 | | |
690 | 703 | | |
691 | 704 | | |
692 | | - | |
| 705 | + | |
693 | 706 | | |
694 | 707 | | |
695 | 708 | | |
| |||
914 | 927 | | |
915 | 928 | | |
916 | 929 | | |
917 | | - | |
| 930 | + | |
918 | 931 | | |
919 | 932 | | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
920 | 941 | | |
921 | 942 | | |
922 | 943 | | |
| |||
1082 | 1103 | | |
1083 | 1104 | | |
1084 | 1105 | | |
1085 | | - | |
| 1106 | + | |
1086 | 1107 | | |
1087 | 1108 | | |
1088 | 1109 | | |
| |||
1127 | 1148 | | |
1128 | 1149 | | |
1129 | 1150 | | |
1130 | | - | |
| 1151 | + | |
1131 | 1152 | | |
1132 | 1153 | | |
1133 | 1154 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
522 | 522 | | |
523 | 523 | | |
524 | 524 | | |
525 | | - | |
| 525 | + | |
526 | 526 | | |
527 | 527 | | |
528 | 528 | | |
| |||
567 | 567 | | |
568 | 568 | | |
569 | 569 | | |
570 | | - | |
| 570 | + | |
571 | 571 | | |
572 | 572 | | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
573 | 581 | | |
574 | 582 | | |
575 | 583 | | |
| |||
690 | 698 | | |
691 | 699 | | |
692 | 700 | | |
693 | | - | |
| 701 | + | |
694 | 702 | | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
695 | 711 | | |
696 | 712 | | |
697 | 713 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
| 22 | + | |
22 | 23 | | |
0 commit comments