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: [email protected]
For additional commands, e-mail: [email protected]