diff options
Diffstat (limited to 'pdf/xpdf/Array.cc')
-rw-r--r-- | pdf/xpdf/Array.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/pdf/xpdf/Array.cc b/pdf/xpdf/Array.cc index 27ecbe9..a6c6db1 100644 --- a/pdf/xpdf/Array.cc +++ b/pdf/xpdf/Array.cc @@ -38,8 +38,12 @@ Array::~Array() { } void Array::add(Object *elem) { - if (length + 1 > size) { - size += 8; + if (length == size) { + if (length == 0) { + size = 8; + } else { + size *= 2; + } elems = (Object *)grealloc(elems, size * sizeof(Object)); } elems[length] = *elem; |