Author: markt Date: Mon Jul 15 18:04:49 2013 New Revision: 1503386 URL: http://svn.apache.org/r1503386 Log: Fix infinite loop
Modified: tomcat/trunk/java/org/apache/el/parser/AstLambdaExpression.java Modified: tomcat/trunk/java/org/apache/el/parser/AstLambdaExpression.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/el/parser/AstLambdaExpression.java?rev=1503386&r1=1503385&r2=1503386&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/el/parser/AstLambdaExpression.java (original) +++ tomcat/trunk/java/org/apache/el/parser/AstLambdaExpression.java Mon Jul 15 18:04:49 2013 @@ -40,23 +40,24 @@ public class AstLambdaExpression extends (AstLambdaParameters) children[0]; Node[] formalParamNodes = formalParametersNode.children; - if (formalParamNodes == null || formalParamNodes.length == 0) { - // No formal parameters - should be able to simply invoke this - return invoke(ctx, null, null); - } else { - // Has parameters but they aren't provided so build a - // LambdaExpression - List<String> formalParameters = - new ArrayList<>(formalParamNodes.length); + // Build a LambdaExpression + List<String> formalParameters = new ArrayList<>(); + if (formalParamNodes != null) { for (Node formalParamNode : formalParamNodes) { formalParameters.add(formalParamNode.getImage()); } + } - ValueExpressionImpl ve = new ValueExpressionImpl("", children[1], - ctx.getFunctionMapper(), ctx.getVariableMapper(), null); - LambdaExpression le = new LambdaExpression(formalParameters, ve); - le.setELContext(ctx); + ValueExpressionImpl ve = new ValueExpressionImpl("", children[1], + ctx.getFunctionMapper(), ctx.getVariableMapper(), null); + LambdaExpression le = new LambdaExpression(formalParameters, ve); + le.setELContext(ctx); + if (formalParameters.size() == 0) { + // No formal parameters - should be able to simply invoke this + return le.invoke(ctx, (Object[]) null); + } else { + // Has parameters but they aren't provided so return the return le; } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org