From fa6b5eddacadba68e0ea025dbbe1ed578f4ef838 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 14 Mar 2008 16:44:45 +0000 Subject: detect infinite loop, from Stepan git-svn-id: svn://tug.org/texlive/trunk@6967 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/tetex/ChangeLog | 5 +++++ Build/source/texk/tetex/fmtutil | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'Build/source/texk/tetex') diff --git a/Build/source/texk/tetex/ChangeLog b/Build/source/texk/tetex/ChangeLog index bf2cd4cf8e2..a602b221433 100644 --- a/Build/source/texk/tetex/ChangeLog +++ b/Build/source/texk/tetex/ChangeLog @@ -1,3 +1,8 @@ +2008-03-14 Karl Berry + + * fmtutil: check for infinite loops. + From Stepan Kasal, http://bugzilla.redhat.com/show_bug.cgi?id=437008. + 2008-03-07 Karl Berry * Makefile.in (LINKEDPLSCRIPTS): rename from LINKEDPERLSCRIPTS. diff --git a/Build/source/texk/tetex/fmtutil b/Build/source/texk/tetex/fmtutil index 1314e799939..0cdb4347121 100755 --- a/Build/source/texk/tetex/fmtutil +++ b/Build/source/texk/tetex/fmtutil @@ -29,6 +29,7 @@ ############################################################################### # program history: +# further changes in texk/tetex/ChangeLog. # 2007-01-04 patch by JK to support $engine subdir (enabled by default) # Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code # Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS @@ -83,7 +84,7 @@ test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' progname=fmtutil argv0=$0 -version=1168729197 # seconds since `00:00:00 1970-01-01 UTC' +version=1205513038 # seconds since `00:00:00 1970-01-01 UTC' # date '+%s' (with GNU date) cnf=fmtutil.cnf # name of the config file @@ -678,6 +679,15 @@ run_initex() esac rm -f $fmtfile + + # Check for infinite recursion before running the iniTeX: + case :$mktexfmt_loop: in + *:"$format":*) + abort "Infinite recursion detected, giving up!" ;; + esac + mktexfmt_loop=$mktexfmt_loop:$format + export mktexfmt_loop + verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..." # run in a subshell to get a local effect of TEXPOOL manipulation: -- cgit v1.2.3