Commit 60e9e3b
committed
Clone R-O inversion list before modifying it
Unicode-defined properties are kept in inversion lists in read-only
memory. Attempting to modify them will result in a segfault. The new
Unicode 16.0 has some empty properties that need to be inverted before
use in some cases. This situation has not occurred before. The
inversion code that gets called presumes it has a modifiable SV and
inverts in-place. This segfaults.
Normally, no inversion is needed, and the properties are used as-is, and
no problem arises.
The solution here is to create a clone, and then invert that.1 parent 6f00038 commit 60e9e3b
1 file changed
+12
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14764 | 14764 | | |
14765 | 14765 | | |
14766 | 14766 | | |
| 14767 | + | |
| 14768 | + | |
| 14769 | + | |
| 14770 | + | |
| 14771 | + | |
| 14772 | + | |
| 14773 | + | |
| 14774 | + | |
14767 | 14775 | | |
14768 | 14776 | | |
14769 | 14777 | | |
| |||
15916 | 15924 | | |
15917 | 15925 | | |
15918 | 15926 | | |
| 15927 | + | |
15919 | 15928 | | |
15920 | 15929 | | |
15921 | 15930 | | |
15922 | 15931 | | |
15923 | 15932 | | |
15924 | 15933 | | |
| 15934 | + | |
| 15935 | + | |
| 15936 | + | |
15925 | 15937 | | |
15926 | 15938 | | |
15927 | 15939 | | |
| |||
0 commit comments