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\$\${&amp;" />
     <set data-value="05b\$\${&amp;${1+1}" />
     <set data-value="05c\#\#{&gt;${'hello'}&lt;" />
+    <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

Reply via email to