mirror of https://github.com/python/cpython
make sure to not call memcpy with a NULL second argument
This commit is contained in:
parent
8c94f97465
commit
5a7d923e75
|
@ -634,14 +634,17 @@ list_ass_slice(PyListObject *a, Py_ssize_t ilow, Py_ssize_t ihigh, PyObject *v)
|
|||
item = a->ob_item;
|
||||
/* recycle the items that we are about to remove */
|
||||
s = norig * sizeof(PyObject *);
|
||||
if (s > sizeof(recycle_on_stack)) {
|
||||
recycle = (PyObject **)PyMem_MALLOC(s);
|
||||
if (recycle == NULL) {
|
||||
PyErr_NoMemory();
|
||||
goto Error;
|
||||
/* If norig == 0, item might be NULL, in which case we may not memcpy from it. */
|
||||
if (s) {
|
||||
if (s > sizeof(recycle_on_stack)) {
|
||||
recycle = (PyObject **)PyMem_MALLOC(s);
|
||||
if (recycle == NULL) {
|
||||
PyErr_NoMemory();
|
||||
goto Error;
|
||||
}
|
||||
}
|
||||
memcpy(recycle, &item[ilow], s);
|
||||
}
|
||||
memcpy(recycle, &item[ilow], s);
|
||||
|
||||
if (d < 0) { /* Delete -d items */
|
||||
Py_ssize_t tail;
|
||||
|
|
Loading…
Reference in New Issue