Index: third_party/libxslt/libxslt/preproc.c |
diff --git a/third_party/libxslt/libxslt/preproc.c b/third_party/libxslt/libxslt/preproc.c |
index 955b3b00e4349fd49299d6e4365bbb1c1d5f840d..9a7de532bd69f50ce2f517aacf08f1e895c9a436 100644 |
--- a/third_party/libxslt/libxslt/preproc.c |
+++ b/third_party/libxslt/libxslt/preproc.c |
@@ -1418,9 +1418,6 @@ xsltNumberComp(xsltStylesheetPtr style, xmlNodePtr cur) { |
return; |
cur->psvi = comp; |
- if ((style == NULL) || (cur == NULL)) |
- return; |
- |
comp->numdata.doc = cur->doc; |
comp->numdata.node = cur; |
comp->numdata.value = xsltGetCNsProp(style, cur, (const xmlChar *)"value", |
@@ -2343,7 +2340,7 @@ xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst) { |
xsltCheckInstructionElement(style, inst); |
inst->psvi = (void *) xsltDocumentComp(style, inst, |
(xsltTransformFunction) xsltDocumentElem); |
- } else { |
+ } else if ((style == NULL) || (style->forwards_compatible == 0)) { |
xsltTransformError(NULL, style, inst, |
"xsltStylePreCompute: unknown xsl:%s\n", inst->name); |
if (style != NULL) style->warnings++; |