Commit 9f69a58
authored
If the error handler is used, a new bytes object is created to set as
the object attribute of UnicodeDecodeError, and that bytes object then
replaces the original data. A pointer to the decoded data will became invalid
after destroying that temporary bytes object. So we need other way to return
the first invalid escape from _PyUnicode_DecodeUnicodeEscapeInternal().
_PyBytes_DecodeEscape() does not have such issue, because it does not
use the error handlers registry, but it should be changed for compatibility
with _PyUnicode_DecodeUnicodeEscapeInternal().
1 parent 734e15b commit 9f69a58
File tree
8 files changed
+160
-63
lines changed- Include/internal
- Lib/test
- Misc/NEWS.d/next/Security
- Objects
- Parser
8 files changed
+160
-63
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
139 | 139 | | |
140 | 140 | | |
141 | 141 | | |
142 | | - | |
| 142 | + | |
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
147 | | - | |
148 | | - | |
149 | | - | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
150 | 154 | | |
151 | 155 | | |
152 | 156 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
1125 | 1126 | | |
1126 | 1127 | | |
1127 | 1128 | | |
1128 | | - | |
| 1129 | + | |
1129 | 1130 | | |
1130 | 1131 | | |
1131 | 1132 | | |
| |||
1160 | 1161 | | |
1161 | 1162 | | |
1162 | 1163 | | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
1163 | 1200 | | |
1164 | 1201 | | |
1165 | 1202 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1196 | 1196 | | |
1197 | 1197 | | |
1198 | 1198 | | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
1199 | 1203 | | |
1200 | 1204 | | |
1201 | 1205 | | |
1202 | | - | |
| 1206 | + | |
| 1207 | + | |
1203 | 1208 | | |
1204 | | - | |
| 1209 | + | |
| 1210 | + | |
1205 | 1211 | | |
1206 | | - | |
| 1212 | + | |
| 1213 | + | |
1207 | 1214 | | |
1208 | 1215 | | |
1209 | 1216 | | |
1210 | | - | |
| 1217 | + | |
| 1218 | + | |
1211 | 1219 | | |
1212 | 1220 | | |
1213 | | - | |
| 1221 | + | |
| 1222 | + | |
1214 | 1223 | | |
1215 | 1224 | | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
1216 | 1232 | | |
1217 | 1233 | | |
1218 | 1234 | | |
| |||
2661 | 2677 | | |
2662 | 2678 | | |
2663 | 2679 | | |
| 2680 | + | |
| 2681 | + | |
| 2682 | + | |
| 2683 | + | |
2664 | 2684 | | |
2665 | 2685 | | |
2666 | 2686 | | |
2667 | | - | |
| 2687 | + | |
| 2688 | + | |
2668 | 2689 | | |
2669 | 2690 | | |
2670 | | - | |
| 2691 | + | |
| 2692 | + | |
2671 | 2693 | | |
2672 | | - | |
| 2694 | + | |
| 2695 | + | |
2673 | 2696 | | |
2674 | 2697 | | |
2675 | 2698 | | |
2676 | | - | |
| 2699 | + | |
| 2700 | + | |
2677 | 2701 | | |
2678 | 2702 | | |
2679 | | - | |
| 2703 | + | |
| 2704 | + | |
2680 | 2705 | | |
2681 | 2706 | | |
| 2707 | + | |
| 2708 | + | |
| 2709 | + | |
| 2710 | + | |
| 2711 | + | |
| 2712 | + | |
| 2713 | + | |
2682 | 2714 | | |
2683 | 2715 | | |
2684 | 2716 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1075 | 1075 | | |
1076 | 1076 | | |
1077 | 1077 | | |
1078 | | - | |
| 1078 | + | |
1079 | 1079 | | |
1080 | 1080 | | |
1081 | | - | |
| 1081 | + | |
| 1082 | + | |
1082 | 1083 | | |
1083 | 1084 | | |
1084 | 1085 | | |
| |||
1092 | 1093 | | |
1093 | 1094 | | |
1094 | 1095 | | |
1095 | | - | |
| 1096 | + | |
| 1097 | + | |
1096 | 1098 | | |
1097 | 1099 | | |
1098 | 1100 | | |
| |||
1130 | 1132 | | |
1131 | 1133 | | |
1132 | 1134 | | |
1133 | | - | |
1134 | | - | |
1135 | | - | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
1136 | 1139 | | |
1137 | 1140 | | |
1138 | 1141 | | |
| |||
1173 | 1176 | | |
1174 | 1177 | | |
1175 | 1178 | | |
1176 | | - | |
1177 | | - | |
1178 | | - | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
1179 | 1183 | | |
1180 | 1184 | | |
1181 | 1185 | | |
| |||
1195 | 1199 | | |
1196 | 1200 | | |
1197 | 1201 | | |
1198 | | - | |
1199 | | - | |
1200 | | - | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
1201 | 1207 | | |
1202 | 1208 | | |
1203 | | - | |
1204 | | - | |
1205 | | - | |
| 1209 | + | |
| 1210 | + | |
1206 | 1211 | | |
1207 | | - | |
| 1212 | + | |
1208 | 1213 | | |
1209 | | - | |
| 1214 | + | |
1210 | 1215 | | |
1211 | 1216 | | |
1212 | 1217 | | |
| |||
1216 | 1221 | | |
1217 | 1222 | | |
1218 | 1223 | | |
1219 | | - | |
| 1224 | + | |
1220 | 1225 | | |
1221 | 1226 | | |
1222 | 1227 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6596 | 6596 | | |
6597 | 6597 | | |
6598 | 6598 | | |
6599 | | - | |
| 6599 | + | |
6600 | 6600 | | |
6601 | 6601 | | |
6602 | 6602 | | |
6603 | | - | |
| 6603 | + | |
| 6604 | + | |
6604 | 6605 | | |
6605 | 6606 | | |
| 6607 | + | |
6606 | 6608 | | |
6607 | 6609 | | |
6608 | 6610 | | |
6609 | 6611 | | |
6610 | 6612 | | |
6611 | 6613 | | |
6612 | 6614 | | |
6613 | | - | |
| 6615 | + | |
| 6616 | + | |
6614 | 6617 | | |
6615 | 6618 | | |
6616 | 6619 | | |
| |||
6698 | 6701 | | |
6699 | 6702 | | |
6700 | 6703 | | |
6701 | | - | |
6702 | | - | |
6703 | | - | |
| 6704 | + | |
| 6705 | + | |
| 6706 | + | |
| 6707 | + | |
| 6708 | + | |
| 6709 | + | |
6704 | 6710 | | |
6705 | 6711 | | |
6706 | 6712 | | |
| |||
6795 | 6801 | | |
6796 | 6802 | | |
6797 | 6803 | | |
6798 | | - | |
6799 | | - | |
6800 | | - | |
| 6804 | + | |
| 6805 | + | |
| 6806 | + | |
| 6807 | + | |
| 6808 | + | |
| 6809 | + | |
6801 | 6810 | | |
6802 | 6811 | | |
6803 | 6812 | | |
| |||
6842 | 6851 | | |
6843 | 6852 | | |
6844 | 6853 | | |
6845 | | - | |
6846 | | - | |
| 6854 | + | |
| 6855 | + | |
| 6856 | + | |
6847 | 6857 | | |
6848 | | - | |
| 6858 | + | |
| 6859 | + | |
6849 | 6860 | | |
6850 | 6861 | | |
6851 | | - | |
6852 | | - | |
6853 | | - | |
| 6862 | + | |
| 6863 | + | |
6854 | 6864 | | |
6855 | | - | |
| 6865 | + | |
6856 | 6866 | | |
6857 | | - | |
| 6867 | + | |
6858 | 6868 | | |
6859 | 6869 | | |
6860 | 6870 | | |
| |||
6864 | 6874 | | |
6865 | 6875 | | |
6866 | 6876 | | |
6867 | | - | |
| 6877 | + | |
6868 | 6878 | | |
6869 | 6879 | | |
6870 | 6880 | | |
| |||
0 commit comments