Author: violetagg Date: Mon May 26 09:00:43 2014 New Revision: 1597532 URL: http://svn.apache.org/r1597532 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56561 Fixed NoSuchElementException when an attribute has empty string as value
Added: tomcat/trunk/test/webapp/bug5nnnn/bug56334and56561.jspx - copied, changed from r1595808, tomcat/trunk/test/webapp/bug5nnnn/bug56334.jspx Removed: tomcat/trunk/test/webapp/bug5nnnn/bug56334.jspx Modified: tomcat/trunk/java/org/apache/jasper/compiler/Validator.java tomcat/trunk/test/org/apache/jasper/compiler/TestParser.java Modified: tomcat/trunk/java/org/apache/jasper/compiler/Validator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/Validator.java?rev=1597532&r1=1597531&r2=1597532&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/Validator.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/Validator.java Mon May 26 09:00:43 2014 @@ -1379,8 +1379,12 @@ class Validator { } else { // Get text with \$ and \# escaping removed. // Should be a single Text node - value = ((ELNode.Text) el.iterator().next()) - .getText(); + Iterator<ELNode> it = el.iterator(); + if (it.hasNext()) { + value = ((ELNode.Text) it.next()).getText(); + } else { + value = ""; + } el = null; } } Modified: tomcat/trunk/test/org/apache/jasper/compiler/TestParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/jasper/compiler/TestParser.java?rev=1597532&r1=1597531&r2=1597532&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/jasper/compiler/TestParser.java (original) +++ tomcat/trunk/test/org/apache/jasper/compiler/TestParser.java Mon May 26 09:00:43 2014 @@ -381,7 +381,7 @@ public class TestParser extends TomcatBa } @Test - public void testBug56334() throws Exception { + public void testBug56334And56561() throws Exception { Tomcat tomcat = getTomcatInstance(); File appDir = new File("test/webapp"); @@ -399,7 +399,7 @@ public class TestParser extends TomcatBa tomcat.start(); ByteChunk res = getUrl("http://localhost:" + getPort() + - "/test/bug5nnnn/bug56334.jspx"); + "/test/bug5nnnn/bug56334and56561.jspx"); String result = res.toString(); Copied: tomcat/trunk/test/webapp/bug5nnnn/bug56334and56561.jspx (from r1595808, tomcat/trunk/test/webapp/bug5nnnn/bug56334.jspx) URL: http://svn.apache.org/viewvc/tomcat/trunk/test/webapp/bug5nnnn/bug56334and56561.jspx?p2=tomcat/trunk/test/webapp/bug5nnnn/bug56334and56561.jspx&p1=tomcat/trunk/test/webapp/bug5nnnn/bug56334.jspx&r1=1595808&r2=1597532&rev=1597532&view=diff ============================================================================== --- tomcat/trunk/test/webapp/bug5nnnn/bug56334.jspx (original) +++ tomcat/trunk/test/webapp/bug5nnnn/bug56334and56561.jspx Mon May 26 09:00:43 2014 @@ -33,6 +33,7 @@ <set data-value="05a\$\${&" /> <set data-value="05b\$\${&${1+1}" /> <set data-value="05c\#\#{>${'hello'}<" /> + <set data-value="" /> <!-- Test 6: nonTaglibXmlnsAttributes on a Node.UninterpretedTag --> <set xmlns:foo="urn:06a\bar\baz" /> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org