summaryrefslogtreecommitdiff
path: root/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.cc')
-rw-r--r--Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.cc b/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.cc
index f1a15e004da..2bbf04680dd 100644
--- a/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.cc
+++ b/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.cc
@@ -16,10 +16,10 @@
// Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
// Copyright (C) 2007 Koji Otani <sho@bbr.jp>
// Copyright (C) 2007 Carlos Garcia Campos <carlosgc@gnome.org>
-// Copyright (C) 2008, 2009, 2012, 2014-2016 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008, 2009, 2012, 2014-2017 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2008 Tomas Are Haavet <tomasare@gmail.com>
// Copyright (C) 2012 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
-// Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2012, 2017 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2014 Thomas Freitag <Thomas.Freitag@alfa.de>
// Copyright (C) 2015 Aleksei Volkov <Aleksei Volkov>
// Copyright (C) 2015, 2016 William Bader <williambader@hotmail.com>
@@ -37,6 +37,7 @@
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
#include <algorithm>
#include "goo/gtypes.h"
#include "goo/gmem.h"
@@ -451,7 +452,7 @@ int FoFiTrueType::mapNameToGID(char *name) {
GBool FoFiTrueType::getCFFBlock(char **start, int *length) {
int i;
- if (!openTypeCFF) {
+ if (!openTypeCFF || !tables) {
return gFalse;
}
i = seekTable("CFF ");
@@ -1307,8 +1308,10 @@ Guint FoFiTrueType::computeTableChecksum(Guchar *data, int length) {
switch (length & 3) {
case 3:
word |= (data[i+2] & 0xff) << 8;
+ // fallthrough
case 2:
word |= (data[i+1] & 0xff) << 16;
+ // fallthrough
case 1:
word |= (data[i ] & 0xff) << 24;
break;