diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2016-08-19 14:07:00 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2016-08-19 14:07:00 +0000 |
commit | 5e955fd62908d6fa1612f6d549991b8bacf3b987 (patch) | |
tree | 5a11c1a5beeae32039f3d19e942d5ec704d11c97 /Build/source/libs | |
parent | 408835433c48798c3233aeed4ff1acc6802488d8 (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')
14 files changed, 123 insertions, 28 deletions
diff --git a/Build/source/libs/poppler/ChangeLog b/Build/source/libs/poppler/ChangeLog index bb91fcc9054..b1cb50f8fc1 100644 --- a/Build/source/libs/poppler/ChangeLog +++ b/Build/source/libs/poppler/ChangeLog @@ -1,3 +1,8 @@ +2016-08-19 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + Import poppler-0.47.0. + * version.ac: Adjust. + 2016-07-25 Akira Kakuto <kakuto@fuk.kindai.ac.jp> Import poppler-0.46.0. diff --git a/Build/source/libs/poppler/configure b/Build/source/libs/poppler/configure index 9db899be3c0..606dc883f16 100755 --- a/Build/source/libs/poppler/configure +++ b/Build/source/libs/poppler/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for poppler (TeX Live) 0.46.0. +# Generated by GNU Autoconf 2.69 for poppler (TeX Live) 0.47.0. # # Report bugs to <tex-k@tug.org>. # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='poppler (TeX Live)' PACKAGE_TARNAME='poppler--tex-live-' -PACKAGE_VERSION='0.46.0' -PACKAGE_STRING='poppler (TeX Live) 0.46.0' +PACKAGE_VERSION='0.47.0' +PACKAGE_STRING='poppler (TeX Live) 0.47.0' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -1306,7 +1306,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures poppler (TeX Live) 0.46.0 to adapt to many kinds of systems. +\`configure' configures poppler (TeX Live) 0.47.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1373,7 +1373,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of poppler (TeX Live) 0.46.0:";; + short | recursive ) echo "Configuration of poppler (TeX Live) 0.47.0:";; esac cat <<\_ACEOF @@ -1486,7 +1486,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -poppler (TeX Live) configure 0.46.0 +poppler (TeX Live) configure 0.47.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2076,7 +2076,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by poppler (TeX Live) $as_me 0.46.0, which was +It was created by poppler (TeX Live) $as_me 0.47.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3999,7 +3999,7 @@ fi # Define the identity of the package. PACKAGE='poppler--tex-live-' - VERSION='0.46.0' + VERSION='0.47.0' # Some tools Automake needs. @@ -6578,7 +6578,7 @@ ac_config_headers="$ac_config_headers poppler-config.h:poppler-src/poppler/poppl cat >>confdefs.h <<_ACEOF -#define POPPLER_VERSION "0.46.0" +#define POPPLER_VERSION "0.47.0" _ACEOF @@ -7272,7 +7272,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by poppler (TeX Live) $as_me 0.46.0, which was +This file was extended by poppler (TeX Live) $as_me 0.47.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7338,7 +7338,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -poppler (TeX Live) config.status 0.46.0 +poppler (TeX Live) config.status 0.47.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/Build/source/libs/poppler/poppler-PATCHES/ChangeLog b/Build/source/libs/poppler/poppler-PATCHES/ChangeLog index 8eccbc3cdf3..4232ebb6f9d 100644 --- a/Build/source/libs/poppler/poppler-PATCHES/ChangeLog +++ b/Build/source/libs/poppler/poppler-PATCHES/ChangeLog @@ -1,3 +1,9 @@ +2016-08-19 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + Imported poppler-0.47.0 source tree from: + http://poppler.freedesktop.org/ + * patch-02-LLONG_MAX, patch-03-Object-functions: Adapted. + 2016-07-25 Akira Kakuto <kakuto@fuk.kindai.ac.jp> Imported poppler-0.46.0 source tree from: diff --git a/Build/source/libs/poppler/poppler-PATCHES/TL-Changes b/Build/source/libs/poppler/poppler-PATCHES/TL-Changes index 0e4f44b4125..1da0814ba58 100644 --- a/Build/source/libs/poppler/poppler-PATCHES/TL-Changes +++ b/Build/source/libs/poppler/poppler-PATCHES/TL-Changes @@ -1,4 +1,4 @@ -Changes applied to the poppler-0.46.0 tree as obtained from: +Changes applied to the poppler-0.47.0 tree as obtained from: http://poppler.freedesktop.org/ Removed: diff --git a/Build/source/libs/poppler/poppler-PATCHES/patch-02-LLONG_MAX b/Build/source/libs/poppler/poppler-PATCHES/patch-02-LLONG_MAX index 66a56a5851a..c659f840918 100644 --- a/Build/source/libs/poppler/poppler-PATCHES/patch-02-LLONG_MAX +++ b/Build/source/libs/poppler/poppler-PATCHES/patch-02-LLONG_MAX @@ -1,6 +1,6 @@ -diff -ur poppler-0.46.0.orig/goo/GooString.h poppler-0.46.0/goo/GooString.h ---- poppler-0.46.0.orig/goo/GooString.h Wed May 11 07:47:44 2016 -+++ poppler-0.46.0/goo/GooString.h Mon Jul 25 12:04:36 2016 +diff -ur poppler-0.47.0.orig/goo/GooString.h poppler-0.47.0/goo/GooString.h +--- poppler-0.47.0.orig/goo/GooString.h Wed May 11 07:47:44 2016 ++++ poppler-0.47.0/goo/GooString.h Fri Aug 19 22:46:47 2016 @@ -36,6 +36,21 @@ #endif diff --git a/Build/source/libs/poppler/poppler-PATCHES/patch-03-Object-functions b/Build/source/libs/poppler/poppler-PATCHES/patch-03-Object-functions index a6c82552da3..322af0f8ece 100644 --- a/Build/source/libs/poppler/poppler-PATCHES/patch-03-Object-functions +++ b/Build/source/libs/poppler/poppler-PATCHES/patch-03-Object-functions @@ -1,6 +1,6 @@ -diff -ur poppler-0.46.0.orig/poppler/Object.h poppler-0.46.0/poppler/Object.h ---- poppler-0.46.0.orig/poppler/Object.h Wed Jul 06 06:37:01 2016 -+++ poppler-0.46.0/poppler/Object.h Mon Jul 25 12:08:59 2016 +diff -ur poppler-0.47.0.orig/poppler/Object.h poppler-0.47.0/poppler/Object.h +--- poppler-0.47.0.orig/poppler/Object.h Wed Jul 06 06:37:01 2016 ++++ poppler-0.47.0/poppler/Object.h Fri Aug 19 22:49:27 2016 @@ -148,7 +148,7 @@ Object *initStream(Stream *streamA); Object *initRef(int numA, int genA) 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); diff --git a/Build/source/libs/poppler/version.ac b/Build/source/libs/poppler/version.ac index ccc1b1705ce..54e23d0d475 100644 --- a/Build/source/libs/poppler/version.ac +++ b/Build/source/libs/poppler/version.ac @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current poppler version -m4_define([poppler_version], [0.46.0]) +m4_define([poppler_version], [0.47.0]) |