Check return of PyMem_MALLOC (garbage) is non-NULL.
Check seq in both portions of if/else. Klocwork #289-290.
This commit is contained in:
parent
5f17d9a1df
commit
b88cfad318
|
@ -2541,6 +2541,10 @@ list_ass_subscript(PyListObject* self, PyObject* item, PyObject* value)
|
|||
|
||||
garbage = (PyObject**)
|
||||
PyMem_MALLOC(slicelength*sizeof(PyObject*));
|
||||
if (!garbage) {
|
||||
PyErr_NoMemory();
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* drawing pictures might help
|
||||
understand these for loops */
|
||||
|
@ -2589,9 +2593,9 @@ list_ass_subscript(PyListObject* self, PyObject* item, PyObject* value)
|
|||
else {
|
||||
seq = PySequence_Fast(value,
|
||||
"must assign iterable to extended slice");
|
||||
if (!seq)
|
||||
return -1;
|
||||
}
|
||||
if (!seq)
|
||||
return -1;
|
||||
|
||||
if (PySequence_Fast_GET_SIZE(seq) != slicelength) {
|
||||
PyErr_Format(PyExc_ValueError,
|
||||
|
|
Loading…
Reference in New Issue