Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit cfed46e

Browse files
author
Victor Stinner
committed
PyUnicode_FromKindAndData() fails with a ValueError if size < 0
1 parent 4288520 commit cfed46e

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

Objects/unicodeobject.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1906,6 +1906,10 @@ _PyUnicode_FromUCS4(const Py_UCS4 *u, Py_ssize_t size)
19061906
PyObject*
19071907
PyUnicode_FromKindAndData(int kind, const void *buffer, Py_ssize_t size)
19081908
{
1909+
if (size < 0) {
1910+
PyErr_SetString(PyExc_ValueError, "size must be positive");
1911+
return NULL;
1912+
}
19091913
switch(kind) {
19101914
case PyUnicode_1BYTE_KIND:
19111915
return _PyUnicode_FromUCS1(buffer, size);
@@ -1914,7 +1918,6 @@ PyUnicode_FromKindAndData(int kind, const void *buffer, Py_ssize_t size)
19141918
case PyUnicode_4BYTE_KIND:
19151919
return _PyUnicode_FromUCS4(buffer, size);
19161920
default:
1917-
assert(0 && "invalid kind");
19181921
PyErr_SetString(PyExc_SystemError, "invalid kind");
19191922
return NULL;
19201923
}

0 commit comments

Comments
 (0)