Overview
Comment: | Check for more invalid UTF-8 byte sequences. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
51dff303958782f82b9db633ef1a7831 |
User & Date: | js on 2011-07-09 00:00:44 |
Other Links: | manifest | tags |
Context
2011-07-09
| ||
03:10 | Emphasize that -[readNBytes:intoBuffer:] reads at most n bytes. check-in: e1285e3ba9 user: js tags: trunk | |
00:00 | Check for more invalid UTF-8 byte sequences. check-in: 51dff30395 user: js tags: trunk | |
2011-07-08
| ||
21:26 | Adjust TableGenerator to (not so) recent style changes. check-in: 30cdebfa2a user: js tags: trunk | |
Changes
Modified src/OFString.m from [518f441548] to [ee8d4c3fc0].
︙ | ︙ | |||
97 98 99 100 101 102 103 104 105 106 107 108 109 110 | isUTF8 = 1; /* We're missing a start byte here */ if (OF_UNLIKELY(!(string[i] & 0x40))) { madvise((void*)string, length, MADV_NORMAL); return -1; } /* We have at minimum a 2 byte character -> check next byte */ if (OF_UNLIKELY(length <= i + 1 || (string[i + 1] & 0xC0) != 0x80)) { madvise((void*)string, length, MADV_NORMAL); return -1; } | > > > > > > | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | isUTF8 = 1; /* We're missing a start byte here */ if (OF_UNLIKELY(!(string[i] & 0x40))) { madvise((void*)string, length, MADV_NORMAL); return -1; } /* 2 byte sequences for code points 0 - 127 are forbidden */ if (OF_UNLIKELY((string[i] & 0x7E) == 0x40)) { madvise((void*)string, length, MADV_NORMAL); return -1; } /* We have at minimum a 2 byte character -> check next byte */ if (OF_UNLIKELY(length <= i + 1 || (string[i + 1] & 0xC0) != 0x80)) { madvise((void*)string, length, MADV_NORMAL); return -1; } |
︙ | ︙ |