summaryrefslogtreecommitdiff
path: root/Modules/_elementtree.c
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2008-01-18 08:04:57 +0000
committerChristian Heimes <christian@cheimes.de>2008-01-18 08:04:57 +0000
commitd4fdd35f999bdecaf01d7d8a7025b9054f6b53e8 (patch)
tree4ae27d0371aa3502f6c4d85a49294d2325667399 /Modules/_elementtree.c
parent85861fb313a419427e764ac05a3688e7e649cb6a (diff)
downloadcpython-d4fdd35f999bdecaf01d7d8a7025b9054f6b53e8.tar.gz
Coverity issue CID #182
size_error: Allocating 1 bytes to pointer "children", which needs at least 4 bytes
Diffstat (limited to 'Modules/_elementtree.c')
-rw-r--r--Modules/_elementtree.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index cc1f5d1609..684081c7c9 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)