diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2011-10-04 01:02:02 +0200 |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2011-10-04 01:02:02 +0200 |
commit | 9e9d689d85e60193494603e65bdbac7717187058 (patch) | |
tree | e2ef6be384b2a4ae74a5cff914c88604f81dfd29 | |
parent | 016980454ea88bcac5f1cea246cb8a5c0e55dc5a (diff) | |
download | cpython-git-9e9d689d85e60193494603e65bdbac7717187058.tar.gz |
PyUnicode_New() sets utf8_length to zero for latin1
-rw-r--r-- | Objects/unicodeobject.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index cad9bfe85f..87d661e8be 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -755,7 +755,7 @@ PyUnicode_New(Py_ssize_t size, Py_UCS4 maxchar) PyCompactUnicodeObject *unicode; void *data; int kind_state; - int is_sharing = 0, is_ascii = 0; + int is_sharing, is_ascii; Py_ssize_t char_size; Py_ssize_t struct_size; @@ -769,6 +769,8 @@ PyUnicode_New(Py_ssize_t size, Py_UCS4 maxchar) ++unicode_new_new_calls; #endif + is_ascii = 0; + is_sharing = 0; struct_size = sizeof(PyCompactUnicodeObject); if (maxchar < 128) { kind_state = PyUnicode_1BYTE_KIND; @@ -833,11 +835,12 @@ PyUnicode_New(Py_ssize_t size, Py_UCS4 maxchar) ((char*)data)[size] = 0; _PyUnicode_WSTR(unicode) = NULL; _PyUnicode_WSTR_LENGTH(unicode) = 0; - unicode->utf8_length = 0; unicode->utf8 = NULL; + unicode->utf8_length = 0; } else { unicode->utf8 = NULL; + unicode->utf8_length = 0; if (kind_state == PyUnicode_2BYTE_KIND) ((Py_UCS2*)data)[size] = 0; else /* kind_state == PyUnicode_4BYTE_KIND */ |