poppler/Link.cc | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)
New commits: commit 53b9c2e2806320d0d0e35134b75da5da72514742 Author: Albert Astals Cid <[email protected]> Date: Sun Apr 29 22:00:18 2012 +0200 Just call getNum if isNum is true Found in a fuzzed pdf sent by Mateusz "j00ru" Jurczyk and Gynvael Coldwind diff --git a/poppler/Link.cc b/poppler/Link.cc index 54ef698..b90b1c1 100644 --- a/poppler/Link.cc +++ b/poppler/Link.cc @@ -16,7 +16,7 @@ // Copyright (C) 2006, 2008 Pino Toscano <[email protected]> // Copyright (C) 2007, 2010, 2011 Carlos Garcia Campos <[email protected]> // Copyright (C) 2008 Hugo Mercier <[email protected]> -// Copyright (C) 2008-2010 Albert Astals Cid <[email protected]> +// Copyright (C) 2008-2010, 2012 Albert Astals Cid <[email protected]> // Copyright (C) 2009 Kovid Goyal <[email protected]> // Copyright (C) 2009 Ilya Gorenbein <[email protected]> // @@ -288,23 +288,26 @@ LinkDest::LinkDest(Array *a) { kind = destFit; } obj2.free(); - if (!a->get(3, &obj2)->isNum()) { + if (a->get(3, &obj2)->isNum()) { + bottom = obj2.getNum(); + } else { error(errSyntaxWarning, -1, "Bad annotation destination position"); kind = destFit; } - bottom = obj2.getNum(); obj2.free(); - if (!a->get(4, &obj2)->isNum()) { + if (a->get(4, &obj2)->isNum()) { + right = obj2.getNum(); + } else { error(errSyntaxWarning, -1, "Bad annotation destination position"); kind = destFit; } - right = obj2.getNum(); obj2.free(); - if (!a->get(5, &obj2)->isNum()) { + if (a->get(5, &obj2)->isNum()) { + top = obj2.getNum(); + } else { error(errSyntaxWarning, -1, "Bad annotation destination position"); kind = destFit; } - top = obj2.getNum(); obj2.free(); // FitB link _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
