[libxslt] Stop if potential recursion is detected



commit ca745c6d3a7d9fcdcf6edc0b3db8c39749b4dcfc
Author: Nick Wellnhofer <wellnhofer aevum de>
Date:   Fri Jun 3 02:18:11 2016 +0200

    Stop if potential recursion is detected
    
    Otherwise, processing can continue for an extremely long time.

 libxslt/transform.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/libxslt/transform.c b/libxslt/transform.c
index 245b3d5..c89f20e 100644
--- a/libxslt/transform.c
+++ b/libxslt/transform.c
@@ -3090,6 +3090,7 @@ xsltApplyXSLTTemplate(xsltTransformContextPtr ctxt,
            "variables/params (currently set to %d).\n",
            ctxt->maxTemplateDepth);
         xsltDebug(ctxt, contextNode, list, NULL);
+       ctxt->state = XSLT_STATE_STOPPED;
         return;
     }
 
@@ -3102,6 +3103,7 @@ xsltApplyXSLTTemplate(xsltTransformContextPtr ctxt,
            "raise the maximum number of variables/params (currently set to %d).\n",
            ctxt->maxTemplateVars);
         xsltDebug(ctxt, contextNode, list, NULL);
+       ctxt->state = XSLT_STATE_STOPPED;
         return;
        }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]