mirror of https://github.com/python/cpython.git
Merged revisions 83395 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r83395 | georg.brandl | 2010-08-01 10:49:18 +0200 (So, 01 Aug 2010) | 1 line #8821: do not rely on Unicode strings being terminated with a \u0000, rather explicitly check range before looking for a second surrogate character. ........
This commit is contained in:
parent
607951d405
commit
09f0d60f7c
|
@ -3067,7 +3067,7 @@ PyObject *unicodeescape_string(const Py_UNICODE *s,
|
|||
|
||||
ch2 = *s++;
|
||||
size--;
|
||||
if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) {
|
||||
if (ch2 >= 0xDC00 && ch2 <= 0xDFFF && size) {
|
||||
ucs = (((ch & 0x03FF) << 10) | (ch2 & 0x03FF)) + 0x00010000;
|
||||
*p++ = '\\';
|
||||
*p++ = 'U';
|
||||
|
@ -3316,7 +3316,7 @@ PyObject *PyUnicode_EncodeRawUnicodeEscape(const Py_UNICODE *s,
|
|||
|
||||
ch2 = *s++;
|
||||
size--;
|
||||
if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) {
|
||||
if (ch2 >= 0xDC00 && ch2 <= 0xDFFF && size) {
|
||||
ucs = (((ch & 0x03FF) << 10) | (ch2 & 0x03FF)) + 0x00010000;
|
||||
*p++ = '\\';
|
||||
*p++ = 'U';
|
||||
|
|
Loading…
Reference in New Issue