[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freedesktop-poppler
Subject:    [poppler] poppler/Link.cc
From:       aacid () kemper ! freedesktop ! org (Albert Astals Cid)
Date:       2012-04-29 20:00:50
Message-ID: 20120429200050.543911004A () kemper ! freedesktop ! org
[Download RAW message or body]

 poppler/Link.cc |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

New commits:
commit 53b9c2e2806320d0d0e35134b75da5da72514742
Author: Albert Astals Cid <aacid@kde.org>
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 <pino@kde.org>
 // Copyright (C) 2007, 2010, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2008 Hugo Mercier <hmercier31@gmail.com>
-// Copyright (C) 2008-2010 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008-2010, 2012 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
 // Copyright (C) 2009 Ilya Gorenbein <igorenbein@finjan.com>
 //
@@ -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
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic