and _elementtree.c weren't applicable]
Klocwork made another run and found a bunch more problems.
This is the first batch of fixes that should be easy to verify based on context.
This fixes problem numbers: 220 (ast), 323-324 (symtable),
321-322 (structseq), 215 (array), 210 (hotshot), 182 (codecs), 209 (etree).
buf = PyString_AS_STRING (str);
len = PyString_GET_SIZE (str);
memmove(buf, buf+1, len-2);
- _PyString_Resize(&str, len-2);
+ if (_PyString_Resize(&str, len-2) < 0)
+ return NULL;
return codec_tuple(str, PyString_Size(str));
}
/* Special case "a[i:j] = a" -- copy b first */
int ret;
v = array_slice(b, 0, n);
+ if (!v)
+ return -1;
ret = array_ass_slice(a, ilow, ihigh, v);
Py_DECREF(v);
return ret;
if (self == av) {
value = array_slice(av, 0, av->ob_size);
av = (arrayobject*)value;
+ if (!av)
+ return -1;
}
else {
Py_INCREF(value);
PyObject *tup;
int result;
tup = make_tuple(obj);
+ if (!tup)
+ return -1;
result = PySequence_Contains(tup, o);
Py_DECREF(tup);
return result;
PyObject *tup;
long result;
tup = make_tuple((PyStructSequence*) obj);
+ if (!tup)
+ return -1;
result = PyObject_Hash(tup);
Py_DECREF(tup);
return result;