diff options
author | Thomas Freitag <Thomas.Freitag@alfa.de> | 2012-09-09 12:48:26 +0200 |
---|---|---|
committer | Albert Astals Cid <aacid@kde.org> | 2012-09-09 12:48:26 +0200 |
commit | 28240046f8fe37ca96f9a80cb1ea3a59af9c66f3 (patch) | |
tree | fa734bd21c0901d436e2d2e6e8687a8fc6f78524 | |
parent | ccd3db5a7723ddb692f6dc85ed9d0f5e3dde189f (diff) |
Fix crash in 589.pdf.SIGSEGV.8b1.929
-rw-r--r-- | poppler/Annot.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/poppler/Annot.cc b/poppler/Annot.cc index 24ef57d3..3e5cff66 100644 --- a/poppler/Annot.cc +++ b/poppler/Annot.cc @@ -25,6 +25,7 @@ // Copyright (C) 2009 Ilya Gorenbein <igorenbein@finjan.com> // Copyright (C) 2011 José Aliste <jaliste@src.gnome.org> // Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it> +// Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de> // // To see a description of the changes please see the Changelog file that // came with your tarball or type make ChangeLog if you are building from git @@ -4500,6 +4501,13 @@ void AnnotWidget::drawListBox(FormFieldChoice *fieldChoice, wMax = 0; for (i = 0; i < fieldChoice->getNumChoices(); ++i) { j = 0; + if (fieldChoice->getChoice(i) == NULL) { + error(errSyntaxError, -1, "Invalid annotation listbox"); + if (daToks) { + deleteGooList(daToks, GooString); + } + return; + } layoutText(fieldChoice->getChoice(i), convertedText, &j, font, &w, 0.0, NULL, gFalse); if (w > wMax) { wMax = w; |