texlive[51819] Build/source/texk/dvipdfm-x: Ignore some of zlib

commits+kakuto at tug.org commits+kakuto at tug.org
Mon Aug 5 00:22:18 CEST 2019


Revision: 51819
          http://tug.org/svn/texlive?view=revision&revision=51819
Author:   kakuto
Date:     2019-08-05 00:22:18 +0200 (Mon, 05 Aug 2019)
Log Message:
-----------
Ignore some of zlib errors. Fix a bug in -m option. (S. Hirata)

Modified Paths:
--------------
    trunk/Build/source/texk/dvipdfm-x/ChangeLog
    trunk/Build/source/texk/dvipdfm-x/configure
    trunk/Build/source/texk/dvipdfm-x/configure.ac
    trunk/Build/source/texk/dvipdfm-x/dvipdfmx.c
    trunk/Build/source/texk/dvipdfm-x/pdfobj.c

Modified: trunk/Build/source/texk/dvipdfm-x/ChangeLog
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/ChangeLog	2019-08-04 21:17:09 UTC (rev 51818)
+++ trunk/Build/source/texk/dvipdfm-x/ChangeLog	2019-08-04 22:22:18 UTC (rev 51819)
@@ -1,3 +1,16 @@
+2019-08-05  Shunsaku Hirata  <shunsaku.hirata74 at gmail.com>
+
+	* pdfobj.c: Ignore zlib error while uncompressing data.
+	Z_DATA_ERROR is ignored when avail_in is 0.
+	Accepting some incorrectly written compressed data.
+	Reported by Jens Adam:
+	https://tug.org/pipermail/tex-live/2019-August/043983.html
+	* dvipdfmx.c: Fix a bug that 'm' option was broken.
+	This option must be processed before dvi_init().
+	Bug reported to TUG mailing list:
+	https://tug.org/pipermail/dvipdfmx/2019-July/000019.html
+	* configure.ac: Version 20190805.
+
 2019-08-03  Shunsaku Hirata  <shunsaku.hirata74 at gmail.com>
 
 	* tt_gsub.c: Fix a bug that OTL coverage data were not read and

Modified: trunk/Build/source/texk/dvipdfm-x/configure
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/configure	2019-08-04 21:17:09 UTC (rev 51818)
+++ trunk/Build/source/texk/dvipdfm-x/configure	2019-08-04 22:22:18 UTC (rev 51819)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20190522.
+# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20190805.
 #
 # Report bugs to <dvipdfmx at tug.org>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='dvipdfm-x (TeX Live)'
 PACKAGE_TARNAME='dvipdfm-x--tex-live-'
-PACKAGE_VERSION='20190522'
-PACKAGE_STRING='dvipdfm-x (TeX Live) 20190522'
+PACKAGE_VERSION='20190805'
+PACKAGE_STRING='dvipdfm-x (TeX Live) 20190805'
 PACKAGE_BUGREPORT='dvipdfmx at tug.org'
 PACKAGE_URL=''
 
@@ -1350,7 +1350,7 @@
   # 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 dvipdfm-x (TeX Live) 20190522 to adapt to many kinds of systems.
+\`configure' configures dvipdfm-x (TeX Live) 20190805 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1421,7 +1421,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20190522:";;
+     short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20190805:";;
    esac
   cat <<\_ACEOF
 
@@ -1551,7 +1551,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-dvipdfm-x (TeX Live) configure 20190522
+dvipdfm-x (TeX Live) configure 20190805
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2390,7 +2390,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by dvipdfm-x (TeX Live) $as_me 20190522, which was
+It was created by dvipdfm-x (TeX Live) $as_me 20190805, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -8077,7 +8077,7 @@
 
 # Define the identity of the package.
  PACKAGE='dvipdfm-x--tex-live-'
- VERSION='20190522'
+ VERSION='20190805'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -14746,7 +14746,7 @@
 Report bugs to <bug-libtool at gnu.org>."
 
 lt_cl_version="\
-dvipdfm-x (TeX Live) config.lt 20190522
+dvipdfm-x (TeX Live) config.lt 20190805
 configured by $0, generated by GNU Autoconf 2.69.
 
 Copyright (C) 2011 Free Software Foundation, Inc.
@@ -16636,7 +16636,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by dvipdfm-x (TeX Live) $as_me 20190522, which was
+This file was extended by dvipdfm-x (TeX Live) $as_me 20190805, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16706,7 +16706,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-dvipdfm-x (TeX Live) config.status 20190522
+dvipdfm-x (TeX Live) config.status 20190805
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/texk/dvipdfm-x/configure.ac
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/configure.ac	2019-08-04 21:17:09 UTC (rev 51818)
+++ trunk/Build/source/texk/dvipdfm-x/configure.ac	2019-08-04 22:22:18 UTC (rev 51819)
@@ -7,7 +7,7 @@
 dnl   gives unlimited permission to copy and/or distribute it,
 dnl   with or without modifications, as long as this notice is preserved.
 dnl
-AC_INIT([dvipdfm-x (TeX Live)], [20190522], [dvipdfmx at tug.org])
+AC_INIT([dvipdfm-x (TeX Live)], [20190805], [dvipdfmx at tug.org])
 AC_PREREQ([2.65])
 AC_CONFIG_SRCDIR([agl.c])
 AC_CONFIG_AUX_DIR([../../build-aux])

Modified: trunk/Build/source/texk/dvipdfm-x/dvipdfmx.c
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/dvipdfmx.c	2019-08-04 21:17:09 UTC (rev 51818)
+++ trunk/Build/source/texk/dvipdfm-x/dvipdfmx.c	2019-08-04 22:22:18 UTC (rev 51819)
@@ -535,6 +535,18 @@
       dpx_conf.compat_mode = dpx_mode_mpost_mode;
       break;
 
+    /* 'm' option placed here since other options set via special
+     * requires magnification already being determined for interpreting
+     * various length values.
+     */
+    case 'm':
+      {
+        char *nextptr;
+        if ((mag = strtod(optarg, &nextptr)) < 0.0 || nextptr == optarg)
+          ERROR("Invalid magnification specified: %s", optarg);
+      }
+      break;
+
     default: /* ignore everything else */
       break;
     }
@@ -575,6 +587,13 @@
     case 'h': case 130: case 131: case 132: case 133: case 1000: case 'q': case 'v': case 'M': /* already done */
       break;
 
+    /* 'm' option handled in first_pass */
+    case 'm':
+      if (unsafe) { /* FIXME: it's not actually 'unsafe'... just to know it's called from special */
+        WARN("Ignoring \"m\" option for dvipdfmx:config special. (too late)");
+      }
+      break;
+
     case 'D':
       if (unsafe) {
         WARN("Ignoring \"D\" option for dvipdfmx:config special. (unsafe)");
@@ -591,11 +610,6 @@
         ERROR("Invalid bitmap font dpi specified: %s", optarg);
       break;
 
-    case 'm':
-      if ((mag = strtod(optarg, &nextptr)) < 0.0 || nextptr == optarg)
-        ERROR("Invalid magnification specified: %s", optarg);
-      break;
-
     case 'g':
       nnextptr = nextptr = optarg;
       read_length(&annot_grow, &nnextptr, nextptr + strlen(nextptr));

Modified: trunk/Build/source/texk/dvipdfm-x/pdfobj.c
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/pdfobj.c	2019-08-04 21:17:09 UTC (rev 51818)
+++ trunk/Build/source/texk/dvipdfm-x/pdfobj.c	2019-08-04 22:22:18 UTC (rev 51819)
@@ -2491,10 +2491,13 @@
   for (;;) {
     int status;
     status = inflate(&z, Z_NO_FLUSH);
-    if (status == Z_STREAM_END)
+    if (status == Z_STREAM_END) {
       break;
-    else if (status != Z_OK) {
-      WARN("inflate() failed. Broken PDF file?");
+    } else if (status == Z_DATA_ERROR && z.avail_in == 0) {
+      WARN("Ignoring zlib error: status=%d, message=\"%s\"", status, z.msg);
+      break;
+    } else if (status != Z_OK) {
+      WARN("inflate() failed (status=%d, message=\"%s\").", status, z.msg);
       inflateEnd(&z);
       pdf_release_obj(tmp);
       return NULL;



More information about the tex-live-commits mailing list