You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by se...@apache.org on 2006/06/26 03:10:43 UTC

svn commit: r417100 - in /jakarta/turbine/core/branches/TURBINE_2_3_BRANCH: src/java/org/apache/turbine/util/uri/ src/test/org/apache/turbine/util/uri/ xdocs/

Author: seade
Date: Sun Jun 25 18:10:43 2006
New Revision: 417100

URL: http://svn.apache.org/viewvc?rev=417100&view=rev
Log:
TRB-8: Incorrect handling of a null return value
Thanks to Gunther Olesch for the patch and Jürgen Hoffmann for assitance.

Modified:
    jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/util/uri/TemplateURI.java
    jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/util/uri/TurbineURI.java
    jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/test/org/apache/turbine/util/uri/TurbineURITest.java
    jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/xdocs/changes.xml

Modified: jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/util/uri/TemplateURI.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/util/uri/TemplateURI.java?rev=417100&r1=417099&r2=417100&view=diff
==============================================================================
--- jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/util/uri/TemplateURI.java (original)
+++ jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/util/uri/TemplateURI.java Sun Jun 25 18:10:43 2006
@@ -1,7 +1,7 @@
 package org.apache.turbine.util.uri;
 
 /*
- * Copyright 2001-2005 The Apache Software Foundation.
+ * Copyright 2001-2006 The Apache Software Foundation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License")
  * you may not use this file except in compliance with the License.
@@ -265,15 +265,22 @@
         for(Iterator it = pp.keySet().iterator(); it.hasNext();)
         {
             String key = (String) it.next();
-
+            
             if (!key.equalsIgnoreCase(CGI_ACTION_PARAM) &&
                     !key.equalsIgnoreCase(CGI_SCREEN_PARAM) &&
                     !key.equalsIgnoreCase(CGI_TEMPLATE_PARAM))
             {
                 String[] values = pp.getStrings(key);
-                for (int i = 0; i < values.length; i++)
+                if(values != null)
+                {
+                    for (int i = 0; i < values.length; i++)
+                    {
+                        add(type, key, values[i]);
+                    }
+                }
+                else 
                 {
-                    add(type, key, values[i]);
+                    add(type, key, "");
                 }
             }
         }

Modified: jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/util/uri/TurbineURI.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/util/uri/TurbineURI.java?rev=417100&r1=417099&r2=417100&view=diff
==============================================================================
--- jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/util/uri/TurbineURI.java (original)
+++ jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/util/uri/TurbineURI.java Sun Jun 25 18:10:43 2006
@@ -842,9 +842,16 @@
                     !key.equalsIgnoreCase(CGI_SCREEN_PARAM))
             {
                 String[] values = pp.getStrings(key);
-                for (int i = 0; i < values.length; i++)
+                if(values != null)
                 {
-                    add(type, key, values[i]);
+                    for (int i = 0; i < values.length; i++)
+                    {
+                        add(type, key, values[i]);
+                    }
+                }
+                else
+                {
+                    add(type, key, "");
                 }
             }
         }

Modified: jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/test/org/apache/turbine/util/uri/TurbineURITest.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/test/org/apache/turbine/util/uri/TurbineURITest.java?rev=417100&r1=417099&r2=417100&view=diff
==============================================================================
--- jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/test/org/apache/turbine/util/uri/TurbineURITest.java (original)
+++ jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/test/org/apache/turbine/util/uri/TurbineURITest.java Sun Jun 25 18:10:43 2006
@@ -20,6 +20,8 @@
 
 import org.apache.commons.configuration.BaseConfiguration;
 import org.apache.commons.configuration.Configuration;
+import org.apache.commons.fileupload.DefaultFileItemFactory;
+import org.apache.commons.fileupload.FileItem;
 
 import org.apache.turbine.services.ServiceManager;
 import org.apache.turbine.services.TurbineServices;
@@ -150,7 +152,7 @@
         turi.add(1, pp); // 1 = query data
         assertEquals("/context/servlet/turbine", turi.getRelativeLink());
     }
-    
+
     public void testAddParameterParser()
     {
         ParameterParser pp = new DefaultParameterParser();
@@ -166,6 +168,16 @@
         // Should make the following work so as to be consistent with directly added values. 
         //assertEquals("/context/servlet/turbine?test=null", turi.getRelativeLink());
         turi.removeQueryData("test");
+        assertEquals("/context/servlet/turbine", turi.getRelativeLink());
+
+        // TRB-8
+        pp = new DefaultParameterParser();
+        DefaultFileItemFactory factory = new DefaultFileItemFactory(10240, null);
+        FileItem test = factory.createItem("upload-field", "application/octet-stream", false, null);
+        pp.add("upload-field", test);
+        turi.add(1, pp); // 1 = query data
+        assertEquals("/context/servlet/turbine?upload-field=", turi.getRelativeLink());
+        turi.removeQueryData("upload-field");
         assertEquals("/context/servlet/turbine", turi.getRelativeLink());
     }
     

Modified: jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/xdocs/changes.xml?rev=417100&r1=417099&r2=417100&view=diff
==============================================================================
--- jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/xdocs/changes.xml (original)
+++ jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/xdocs/changes.xml Sun Jun 25 18:10:43 2006
@@ -25,6 +25,10 @@
 
 <body>
   <release version="2.3.3-dev" date="in Subversion">
+    <action type="fix" dev="seade" issue="TRB-8" due-to="Gunther Olesch">
+      A FileItem in a ParameterParser added to TurbineURI or TemplateURI was
+      resulting in a NPE.
+    </action>
     <action type="fix" dev="seade" issue="TRB-16" due-to="J&uuml;rgen Hoffmann">
       TurbineURI was mishandling the empty String.
     </action>



---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org