Skip to content

Commit d8a4659

Browse files
committed
Detect strlen() overflow
1 parent 6d7e37d commit d8a4659

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

Objects/bytesobject.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4032,7 +4032,12 @@ PyBytesWriter_WriteBytes(PyBytesWriter *writer,
40324032
const void *bytes, Py_ssize_t size)
40334033
{
40344034
if (size < 0) {
4035-
size = strlen(bytes);
4035+
size_t len = strlen(bytes);
4036+
if (len > (size_t)PY_SSIZE_T_MAX) {
4037+
PyErr_NoMemory();
4038+
return NULL;
4039+
}
4040+
size = (Py_ssize_t)len;
40364041
}
40374042

40384043
Py_ssize_t pos = writer->size;

0 commit comments

Comments
 (0)