texlive[45714] Build/source/texk/web2c/xetexdir: XeTeX_ext.c: Sync

commits+kakuto at tug.org commits+kakuto at tug.org
Tue Nov 7 22:40:54 CET 2017


Revision: 45714
          http://tug.org/svn/texlive?view=revision&revision=45714
Author:   kakuto
Date:     2017-11-07 22:40:53 +0100 (Tue, 07 Nov 2017)
Log Message:
-----------
XeTeX_ext.c: Sync with the upstream. Guard against out-of-range result from UTF-8 decoding, and return U+FFFD Replacement Character instead.

Modified Paths:
--------------
    trunk/Build/source/texk/web2c/xetexdir/ChangeLog
    trunk/Build/source/texk/web2c/xetexdir/XeTeX_ext.c

Modified: trunk/Build/source/texk/web2c/xetexdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/xetexdir/ChangeLog	2017-11-07 21:33:59 UTC (rev 45713)
+++ trunk/Build/source/texk/web2c/xetexdir/ChangeLog	2017-11-07 21:40:53 UTC (rev 45714)
@@ -1,3 +1,9 @@
+2017-11-07  Jonathan Kew  <jfkthame at gmail.com>
+
+	* XeTeX_ext.c: Guard against out-of-range result from UTF-8
+	decoding, and return U+FFFD Replacement Character instead
+	to avoid a crash for invalid inputs (from A. Kakuto).
+
 2017-09-24  Hironori Kitagawa  <h_kitagawa2001 at yahoo.co.jp>
 
 	* xetex.web: Avoid overwriting prim_* entries by primitive().

Modified: trunk/Build/source/texk/web2c/xetexdir/XeTeX_ext.c
===================================================================
--- trunk/Build/source/texk/web2c/xetexdir/XeTeX_ext.c	2017-11-07 21:33:59 UTC (rev 45713)
+++ trunk/Build/source/texk/web2c/xetexdir/XeTeX_ext.c	2017-11-07 21:40:53 UTC (rev 45714)
@@ -2786,6 +2786,10 @@
                         return 0xfffd;      /* return without adjusting by offsetsFromUTF8 */
                 };
                 rval -= offsetsFromUTF8[extraBytes];
+                if (rval < 0 || rval > 0x10ffff) {
+                    badutf8warning();
+                    return 0xfffd;
+                }
             }
             break;
 



More information about the tex-live-commits mailing list