summaryrefslogtreecommitdiff
path: root/Build/source/libs/poppler/poppler-src
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-08-19 14:07:00 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-08-19 14:07:00 +0000
commit5e955fd62908d6fa1612f6d549991b8bacf3b987 (patch)
tree5a11c1a5beeae32039f3d19e942d5ec704d11c97 /Build/source/libs/poppler/poppler-src
parent408835433c48798c3233aeed4ff1acc6802488d8 (diff)
poppler 0.47.0
git-svn-id: svn://tug.org/texlive/trunk@41888 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/poppler/poppler-src')
-rw-r--r--Build/source/libs/poppler/poppler-src/CMakeLists.txt2
-rw-r--r--Build/source/libs/poppler/poppler-src/ChangeLog61
-rw-r--r--Build/source/libs/poppler/poppler-src/NEWS10
-rw-r--r--Build/source/libs/poppler/poppler-src/configure.ac6
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/Hints.cc10
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/PDFDoc.cc7
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/XRef.cc6
7 files changed, 93 insertions, 9 deletions
diff --git a/Build/source/libs/poppler/poppler-src/CMakeLists.txt b/Build/source/libs/poppler/poppler-src/CMakeLists.txt
index c90d0e89436..d59a6fc9241 100644
--- a/Build/source/libs/poppler/poppler-src/CMakeLists.txt
+++ b/Build/source/libs/poppler/poppler-src/CMakeLists.txt
@@ -22,7 +22,7 @@ if (ECM_FOUND)
endif()
set(POPPLER_MAJOR_VERSION "0")
-set(POPPLER_MINOR_VERSION "46")
+set(POPPLER_MINOR_VERSION "47")
set(POPPLER_MICRO_VERSION "0")
set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION}.${POPPLER_MICRO_VERSION}")
diff --git a/Build/source/libs/poppler/poppler-src/ChangeLog b/Build/source/libs/poppler/poppler-src/ChangeLog
index ee2a24b652b..56f1982d3de 100644
--- a/Build/source/libs/poppler/poppler-src/ChangeLog
+++ b/Build/source/libs/poppler/poppler-src/ChangeLog
@@ -1,3 +1,64 @@
+commit 0889366a5872316919dbb640b6cc5cda85295169
+Author: Jakub Kucharski <jakubkucharski97@gmail.com>
+Date: Mon Aug 1 01:10:18 2016 +0200
+
+ XRef::createDocInfoIfNoneExists(): don't presume that DocInfo is
+ a dictionary
+
+ In case a PDF document doesn't comply with the PDF reference and
+ its DocInfo
+ object isn't a dictionary, remove it and create a dictionary in
+ its place.
+
+ poppler/XRef.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 7ba975630e12a3242d73372a685e016101c5e479
+Author: Jakub Kucharski <jakubkucharski97@gmail.com>
+Date: Mon Aug 1 01:17:08 2016 +0200
+
+ PDFDoc::setDocInfoStringEntry(): free empty value string
+
+ Normally the ownership of value is passed on to the Object class. In
+ case value
+ is an empty string, it doesn't happen, so we have to free it in
+ order to have
+ a uniform behaviour managing memory and not to introduce memory leaks.
+
+ poppler/PDFDoc.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit f0feeed3513899558c59b65f798f294212309486
+Author: Matthias Kilian <kili@outback.escape.de>
+Date: Mon Aug 1 22:50:44 2016 +0200
+
+ Work with non gnu grep
+
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 3f5c84e17acfa71dfd44514384398f5a4c449630
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Jul 30 17:50:42 2016 +0200
+
+ Check for XRefEntry existing before using it
+
+ Bug #97005
+
+ poppler/Hints.cc | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit 7d3aea760a14a73962e429059f73d97391660367
+Author: Albert Astals Cid <aacid@kde.org>
+Date: Sat Jul 30 17:32:59 2016 +0200
+
+ Fix abort on documents where the docinfo obj is not a dict
+
+ Bug #97134
+
+ poppler/PDFDoc.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
commit 5641644f485b402cd906d3db73a22a00eb00489b
Author: Albert Astals Cid <aacid@kde.org>
Date: Mon Jul 25 00:14:30 2016 +0200
diff --git a/Build/source/libs/poppler/poppler-src/NEWS b/Build/source/libs/poppler/poppler-src/NEWS
index 0a8ff445234..3ae7b349b84 100644
--- a/Build/source/libs/poppler/poppler-src/NEWS
+++ b/Build/source/libs/poppler/poppler-src/NEWS
@@ -1,3 +1,13 @@
+Release 0.47.0
+ core:
+ * Fix abort on documents where the docinfo obj is not a dict. Bug #97134
+ * Check for XRefEntry existing before using it. Bug #97005
+ * Fix memory leak on PDFDoc::setDocInfoStringEntry() with empty string
+ * Don't presume that DocInfo is a dictionary in XRef::createDocInfoIfNoneExists()
+
+ build system:
+ * configure: Work with non gnu greps
+
Release 0.46.0
core:
* cairo: fix bug in setAntialias()
diff --git a/Build/source/libs/poppler/poppler-src/configure.ac b/Build/source/libs/poppler/poppler-src/configure.ac
index f008e25c60c..c4cfc2c6f2e 100644
--- a/Build/source/libs/poppler/poppler-src/configure.ac
+++ b/Build/source/libs/poppler/poppler-src/configure.ac
@@ -1,5 +1,5 @@
m4_define([poppler_version_major],[0])
-m4_define([poppler_version_minor],[46])
+m4_define([poppler_version_minor],[47])
m4_define([poppler_version_micro],[0])
m4_define([poppler_version],[poppler_version_major.poppler_version_minor.poppler_version_micro])
@@ -779,13 +779,13 @@ if test x$enable_poppler_qt5 = xyes; then
AC_CHECK_TOOL(MOCQT52, moc-qt5)
AC_MSG_CHECKING([for Qt5 moc-qt5])
mocversion=`$MOCQT52 -v 2>&1`
- mocversiongrep=`echo $mocversion | grep "Qt 5\|moc-qt5 5\|moc 5"`
+ mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc-qt5 5|moc 5"`
if test x"$mocversiongrep" != x"$mocversion"; then
AC_CHECK_TOOL(QTCHOOSER, qtchooser)
AC_MSG_CHECKING([for qtchooser])
qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2`
mocversion=`$qt5tooldir/moc -v 2>&1`
- mocversiongrep=`echo $mocversion | grep "Qt 5\|moc 5"`
+ mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"`
if test x"$mocversiongrep" != x"$mocversion"; then
# no valid moc found
enable_poppler_qt5=no;
diff --git a/Build/source/libs/poppler/poppler-src/poppler/Hints.cc b/Build/source/libs/poppler/poppler-src/poppler/Hints.cc
index bdd0d322612..6c2fc259a61 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/Hints.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/Hints.cc
@@ -5,7 +5,7 @@
// This file is licensed under the GPLv2 or later
//
// Copyright 2010, 2012 Hib Eris <hib@hiberis.nl>
-// Copyright 2010, 2011, 2013, 2014 Albert Astals Cid <aacid@kde.org>
+// Copyright 2010, 2011, 2013, 2014, 2016 Albert Astals Cid <aacid@kde.org>
// Copyright 2010, 2013 Pino Toscano <pino@kde.org>
// Copyright 2013 Adrian Johnson <ajohnson@redneon.com>
// Copyright 2014 Fabio D'Urso <fabiodurso@hotmail.it>
@@ -43,7 +43,13 @@ Hints::Hints(BaseStream *str, Linearization *linearization, XRef *xref, Security
pageObjectFirst);
pageObjectFirst = 0;
}
- pageOffsetFirst = xref->getEntry(pageObjectFirst)->offset;
+ XRefEntry *pageObjectFirstXRefEntry = xref->getEntry(pageObjectFirst);
+ if (!pageObjectFirstXRefEntry) {
+ error(errSyntaxWarning, -1, "No XRef entry for first page object");
+ pageOffsetFirst = 0;
+ } else {
+ pageOffsetFirst = pageObjectFirstXRefEntry->offset;
+ }
if (nPages >= INT_MAX / (int)sizeof(Guint)) {
error(errSyntaxWarning, -1, "Invalid number of pages ({0:d}) for hints table", nPages);
diff --git a/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.cc b/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.cc
index c91d6e440e7..f3383fc027d 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.cc
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2005, 2006, 2008 Brad Hards <bradh@frogmouth.net>
-// Copyright (C) 2005, 2007-2009, 2011-2015 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2007-2009, 2011-2016 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2008 Julien Rebetez <julienr@svn.gnome.org>
// Copyright (C) 2008, 2010 Pino Toscano <pino@kde.org>
// Copyright (C) 2008, 2010, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
@@ -612,6 +612,9 @@ void PDFDoc::setDocInfoModified(Object *infoObj)
void PDFDoc::setDocInfoStringEntry(const char *key, GooString *value)
{
GBool removeEntry = !value || value->getLength() == 0;
+ if (removeEntry) {
+ delete value;
+ }
Object infoObj;
getDocInfo(&infoObj);
@@ -646,7 +649,7 @@ void PDFDoc::setDocInfoStringEntry(const char *key, GooString *value)
GooString *PDFDoc::getDocInfoStringEntry(const char *key) {
Object infoObj;
getDocInfo(&infoObj);
- if (infoObj.isNull()) {
+ if (!infoObj.isDict()) {
return NULL;
}
diff --git a/Build/source/libs/poppler/poppler-src/poppler/XRef.cc b/Build/source/libs/poppler/poppler-src/poppler/XRef.cc
index f88c632cf03..75fa52d867a 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/XRef.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/XRef.cc
@@ -1295,8 +1295,12 @@ Object *XRef::getDocInfoNF(Object *obj) {
Object *XRef::createDocInfoIfNoneExists(Object *obj) {
getDocInfo(obj);
- if (!obj->isNull()) {
+ if (obj->isDict()) {
return obj;
+ } else if (!obj->isNull()) {
+ // DocInfo exists, but isn't a dictionary (doesn't comply with the PDF reference)
+ obj->free();
+ removeDocInfo();
}
obj->initDict(this);