summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Astals Cid <aacid@kde.org>2012-04-29 22:07:34 +0200
committerAlbert Astals Cid <aacid@kde.org>2012-04-29 22:07:34 +0200
commit931051fe0bb445545355027d999515bc3d4b32ef (patch)
tree48e0a299eeac211d01b75c8083c1362b444f5a7b
parent53b9c2e2806320d0d0e35134b75da5da72514742 (diff)
Make sure the index for refLine is in bounds
Found in a fuzzed pdf sent by Mateusz "j00ru" Jurczyk and Gynvael Coldwind
-rw-r--r--poppler/Stream.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/poppler/Stream.cc b/poppler/Stream.cc
index 8bb12bdc..423bf1c9 100644
--- a/poppler/Stream.cc
+++ b/poppler/Stream.cc
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2005 Jeff Muizelaar <jeff@infidigm.net>
-// Copyright (C) 2006-2010 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2010, 2012 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2007 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
// Copyright (C) 2008 Julien Rebetez <julien@fhtagn.net>
// Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
@@ -1727,9 +1727,11 @@ int CCITTFaxStream::lookChar() {
code1 = getTwoDimCode();
switch (code1) {
case twoDimPass:
- addPixels(refLine[b1i + 1], blackPixels);
- if (refLine[b1i + 1] < columns) {
- b1i += 2;
+ if (likely(b1i + 1 < columns + 2)) {
+ addPixels(refLine[b1i + 1], blackPixels);
+ if (refLine[b1i + 1] < columns) {
+ b1i += 2;
+ }
}
break;
case twoDimHoriz: