[lfs-patches] r3685 - trunk/docbook-xsl

bdubbs at higgs.linuxfromscratch.org bdubbs at higgs.linuxfromscratch.org
Mon Jan 1 11:06:05 PST 2018


Author: bdubbs
Date: Mon Jan  1 11:06:05 2018
New Revision: 3685

Log:
Add patch to docbook-xsl to prevent stack overflow for excessive recursion

Added:
   trunk/docbook-xsl/docbook-xsl-1.79.2-stack_fix-1.patch

Added: trunk/docbook-xsl/docbook-xsl-1.79.2-stack_fix-1.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/docbook-xsl/docbook-xsl-1.79.2-stack_fix-1.patch	Mon Jan  1 11:06:05 2018	(r3685)
@@ -0,0 +1,39 @@
+Submitted By:            Bruce Dubbs <bdubbs at linuxfromscratch dot org>
+Date:                    2018-01-01
+Initial Package Version: 1.78.1
+Upstream Status:         Unsure
+Origin:                  Peter De Wachter <pdewacht at gmail.com>
+Description: use EXSLT "replace" function when available
+ A recursive implementation  of string.subst is problematic,
+ long strings with many matches will cause stack overflows.
+Author: Peter De Wachter <pdewacht at gmail.com>
+Bug-Debian: https://bugs.debian.org/750593
+
+Rediffed for 1.79.2 by Bruce Dubbs
+
+diff -Naur docbook-xsl-1.79.2.orig/lib/lib.xsl docbook-xsl-1.79.2/lib/lib.xsl
+--- docbook-xsl-1.79.2.orig/lib/lib.xsl	2016-12-09 16:41:39.000000000 -0600
++++ docbook-xsl-1.79.2/lib/lib.xsl	2018-01-01 12:54:52.507332514 -0600
+@@ -6,7 +6,11 @@
+ 
+      This module implements DTD-independent functions
+ 
+-     ******************************************************************** --><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
++     ******************************************************************** -->
++<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
++                xmlns:str="http://exslt.org/strings"
++                exclude-result-prefixes="str"
++                version="1.0">
+ 
+ <xsl:template name="dot.count">
+   <!-- Returns the number of "." characters in a string -->
+@@ -52,6 +56,9 @@
+   <xsl:param name="replacement"/>
+ 
+   <xsl:choose>
++    <xsl:when test="function-available('str:replace')">
++      <xsl:value-of select="str:replace($string, string($target), string($replacement))"/>
++    </xsl:when>
+     <xsl:when test="contains($string, $target)">
+       <xsl:variable name="rest">
+         <xsl:call-template name="string.subst">


More information about the patches mailing list