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**)
|
garbage = (PyObject**)
|
||||||
PyMem_MALLOC(slicelength*sizeof(PyObject*));
|
PyMem_MALLOC(slicelength*sizeof(PyObject*));
|
||||||
|
if (!garbage) {
|
||||||
|
PyErr_NoMemory();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
/* drawing pictures might help
|
/* drawing pictures might help
|
||||||
understand these for loops */
|
understand these for loops */
|
||||||
|
@ -2589,9 +2593,9 @@ list_ass_subscript(PyListObject* self, PyObject* item, PyObject* value)
|
||||||
else {
|
else {
|
||||||
seq = PySequence_Fast(value,
|
seq = PySequence_Fast(value,
|
||||||
"must assign iterable to extended slice");
|
"must assign iterable to extended slice");
|
||||||
if (!seq)
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
if (!seq)
|
||||||
|
return -1;
|
||||||
|
|
||||||
if (PySequence_Fast_GET_SIZE(seq) != slicelength) {
|
if (PySequence_Fast_GET_SIZE(seq) != slicelength) {
|
||||||
PyErr_Format(PyExc_ValueError,
|
PyErr_Format(PyExc_ValueError,
|
||||||
|
|
Loading…
Reference in New Issue