poppler/Annot.cc | 8 ++++++-- poppler/Annot.h | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-)
New commits: commit abe1e0d5a37bcdb4376901306d3adccfb33ff3b4 Author: Carlos Garcia Campos <[email protected]> Date: Tue Mar 8 21:39:00 2011 +0100 annots: Make sure no border is drawn for invalid border arrays Fixes regression on ClassSchedule_2091_ENGL.pdf diff --git a/poppler/Annot.cc b/poppler/Annot.cc index 7b800ad..ef1aa64 100644 --- a/poppler/Annot.cc +++ b/poppler/Annot.cc @@ -439,7 +439,7 @@ AnnotBorder::AnnotBorder() { style = borderSolid; } -void AnnotBorder::parseDashArray(Object *dashObj) { +GBool AnnotBorder::parseDashArray(Object *dashObj) { GBool correct = gTrue; int tempLength = dashObj->arrayGetLength(); double *tempDash = (double *) gmallocn (tempLength, sizeof (double)); @@ -463,6 +463,8 @@ void AnnotBorder::parseDashArray(Object *dashObj) { } else { gfree (tempDash); } + + return correct; } AnnotBorder::~AnnotBorder() { @@ -508,7 +510,9 @@ AnnotBorderArray::AnnotBorderArray(Array *array) { if (arrayLength == 4) { if (array->get(3, &obj1)->isArray()) - parseDashArray(&obj1); + correct = parseDashArray(&obj1); + else + correct = gFalse; obj1.free(); } } else { diff --git a/poppler/Annot.h b/poppler/Annot.h index 4efd762..3126e53 100644 --- a/poppler/Annot.h +++ b/poppler/Annot.h @@ -233,7 +233,7 @@ public: virtual AnnotBorderStyle getStyle() const { return style; } protected: - void parseDashArray(Object *dashObj); + GBool parseDashArray(Object *dashObj); AnnotBorderType type; double width; _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
