--- old/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java 2015-01-19 14:13:50.814549570 +0300 +++ new/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java 2015-01-19 14:13:50.750549571 +0300 @@ -292,7 +292,8 @@ public static String substringF(String value, double start, double length) { if (Double.isInfinite(start) || Double.isNaN(start) || - Double.isNaN(length)) + Double.isNaN(length) || + length < 0) return(EMPTYSTRING); int istart = (int)Math.round(start) - 1;