summaryrefslogtreecommitdiff
path: root/Modules
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2004-04-17 19:36:13 +0000
committerMartin v. Löwis <martin@v.loewis.de>2004-04-17 19:36:13 +0000
commita2f79361f8472877c79fbb7bd70615eb2e5b918f (patch)
tree4492cb95b028c365ca43178640a3022b666f8253 /Modules
parent202b6fbc13a465f35f2b0adf72d57dd752b0cf75 (diff)
downloadcpython-git-a2f79361f8472877c79fbb7bd70615eb2e5b918f.tar.gz
Special case normalization of empty strings. Fixes #924361.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/unicodedata.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/Modules/unicodedata.c b/Modules/unicodedata.c
index 311db296bd..ba218a3e58 100644
--- a/Modules/unicodedata.c
+++ b/Modules/unicodedata.c
@@ -515,6 +515,13 @@ unicodedata_normalize(PyObject *self, PyObject *args)
&form, &PyUnicode_Type, &input))
return NULL;
+ if (PyUnicode_GetSize(input) == 0) {
+ /* Special case empty input strings, since resizing
+ them later would cause internal errors. */
+ Py_INCREF(input);
+ return input;
+ }
+
if (strcmp(form, "NFC") == 0)
return nfc_nfkc(input, 0);
if (strcmp(form, "NFKC") == 0)