summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2008-01-18 08:04:57 (GMT)
committerChristian Heimes <christian@cheimes.de>2008-01-18 08:04:57 (GMT)
commit87dcf3d260e183ed2988fe35b0ac3b93df37763b (patch)
treec3383cbb3f2e65bd40c86bf5c1911f696b853cc8
parent7b1e119f8c28cf8b46ab5933c389a6d0b742ef21 (diff)
downloadcpython-87dcf3d260e183ed2988fe35b0ac3b93df37763b.zip
cpython-87dcf3d260e183ed2988fe35b0ac3b93df37763b.tar.gz
cpython-87dcf3d260e183ed2988fe35b0ac3b93df37763b.tar.bz2
Coverity issue CID #182
size_error: Allocating 1 bytes to pointer "children", which needs at least 4 bytes
-rw-r--r--Modules/_elementtree.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index cc1f5d1..684081c 100644
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -369,7 +369,17 @@ element_resize(ElementObject* self, int extra)
if (size > self->extra->allocated) {
/* use Python 2.4's list growth strategy */
size = (size >> 3) + (size < 9 ? 3 : 6) + size;
+ /* Coverity CID #182 size_error: Allocating 1 bytes to pointer "children"
+ * which needs at least 4 bytes.
+ * Although it's a false alarm always assume at least one child to
+ * be safe.
+ */
+ size = size ? size : 1;
if (self->extra->children != self->extra->_children) {
+ /* Coverity CID #182 size_error: Allocating 1 bytes to pointer
+ * "children", which needs at least 4 bytes. Although it's a
+ * false alarm always assume at least one child to be safe.
+ */
children = PyObject_Realloc(self->extra->children,
size * sizeof(PyObject*));
if (!children)