You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2014/01/30 09:29:11 UTC
svn commit: r1562721 - in /tomcat/trunk:
java/org/apache/catalina/core/StandardContext.java
test/org/apache/catalina/core/TestStandardContext.java
webapps/docs/changelog.xml
Author: markt
Date: Thu Jan 30 08:29:10 2014
New Revision: 1562721
URL: http://svn.apache.org/r1562721
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56085
ServletContext.getRealPath(String) should return null for invalid input rather than throwing an IllegalArgumentException
Modified:
tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java
tomcat/trunk/webapps/docs/changelog.xml
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1562721&r1=1562720&r2=1562721&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Thu Jan 30 08:29:10 2014
@@ -4418,7 +4418,11 @@ public class StandardContext extends Con
path = "/";
}
if (resources != null) {
- return resources.getResource(path).getCanonicalPath();
+ try {
+ return resources.getResource(path).getCanonicalPath();
+ } catch (IllegalArgumentException iae) {
+ // ServletContext.getRealPath() does not allow this to be thrown
+ }
}
return null;
}
Modified: tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java?rev=1562721&r1=1562720&r2=1562721&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java (original)
+++ tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java Thu Jan 30 08:29:10 2014
@@ -876,4 +876,20 @@ public class TestStandardContext extends
Assert.assertTrue(log, log.contains("PASS"));
Assert.assertFalse(log, log.contains("FAIL"));
}
+
+ @Test
+ public void testBug56085() throws Exception {
+ // Set up a container
+ Tomcat tomcat = getTomcatInstance();
+
+ File docBase = new File("test/webapp");
+ Context ctx = tomcat.addContext("", docBase.getAbsolutePath());
+
+ // Start the context
+ tomcat.start();
+
+ String realPath = ctx.getRealPath("\\");
+
+ Assert.assertNull(realPath);
+ }
}
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1562721&r1=1562720&r2=1562721&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Thu Jan 30 08:29:10 2014
@@ -44,6 +44,15 @@
They eventually become mixed with the numbered issues. (I.e., numbered
issues to not "pop up" wrt. others).
-->
+<section name="Tomcat 8.0.2 (markt)">
+ <subsection name="Catalina">
+ <changelog>
+ <bug>56085</bug>: <code>ServletContext.getRealPath(String)</code> should
+ return <code>null</code> for invalid input rather than throwing an
+ <code>IllegalArgumentException</code>. (markt)
+ </changelog>
+ </subsection>
+</section>
<section name="Tomcat 8.0.1 (markt)">
<subsection name="Catalina">
<changelog>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org