texlive[68100] Build/source/texk/web2c/pdftexdir: guard against

commits+karl at tug.org commits+karl at tug.org
Tue Aug 29 00:32:09 CEST 2023


Revision: 68100
          http://tug.org/svn/texlive?view=revision&revision=68100
Author:   karl
Date:     2023-08-29 00:32:09 +0200 (Tue, 29 Aug 2023)
Log Message:
-----------
guard against undump of corrupt .fmt

Modified Paths:
--------------
    trunk/Build/source/texk/web2c/pdftexdir/ChangeLog
    trunk/Build/source/texk/web2c/pdftexdir/tounicode.c

Modified: trunk/Build/source/texk/web2c/pdftexdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/pdftexdir/ChangeLog	2023-08-28 20:06:27 UTC (rev 68099)
+++ trunk/Build/source/texk/web2c/pdftexdir/ChangeLog	2023-08-28 22:32:09 UTC (rev 68100)
@@ -1,3 +1,10 @@
+2023-08-28  Karl Berry  <karl at freefriends.org>
+
+	* tounicode.c (undump_to_unicode): check that gu->name
+	(and gu->unicode_seq) did not undumped as NULL.
+	Report from Gregory DUCK,
+	https://tug.org/pipermail/tex-live/2023-August/049406.html.
+
 2023-08-27  TANAKA Takuji  <ttk at t-lab.opal.ne.jp>
 
 	* tests/{cnfline,partoken}.test:

Modified: trunk/Build/source/texk/web2c/pdftexdir/tounicode.c
===================================================================
--- trunk/Build/source/texk/web2c/pdftexdir/tounicode.c	2023-08-28 20:06:27 UTC (rev 68099)
+++ trunk/Build/source/texk/web2c/pdftexdir/tounicode.c	2023-08-28 22:32:09 UTC (rev 68100)
@@ -535,10 +535,17 @@
         void **result;
         glyph_unicode_entry *gu = new_glyph_unicode_entry();
         undumpcharptr(gu->name);
+        if (gu->name == NULL) {
+            pdftex_fail("undumpcharptr(gu->name) got NULL");
+        }
         generic_undump(gu->code);
 
-        if (gu->code == UNI_STRING)
+        if (gu->code == UNI_STRING) {
             undumpcharptr(gu->unicode_seq);
+            if (gu->unicode_seq == NULL) {
+                pdftex_fail("undumpcharptr(gu->unicode_seq) got NULL");
+            }
+        }
 
         result = avl_probe(glyph_unicode_tree, gu);
         assert(*result == gu);



More information about the tex-live-commits mailing list.