2015-02-10 23:54 GMT+03:00 <ma...@apache.org>: > Author: markt > Date: Tue Feb 10 20:54:07 2015 > New Revision: 1658804 > > URL: http://svn.apache.org/r1658804 > Log: > Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=57556 > Align getRealPath() behaviour with that of earlier versions and include a > trailing separator if the real path refers to a directory. > > Modified: > tomcat/trunk/java/org/apache/catalina/core/StandardContext.java > tomcat/trunk/test/org/apache/catalina/core/TestStandardContext.java > > 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=1658804&r1=1658803&r2=1658804&view=diff > ============================================================================== > --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original) > +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Tue Feb > 10 20:54:07 2015 > @@ -4407,7 +4407,12 @@ public class StandardContext extends Con > } > if (resources != null) { > try { > - return resources.getResource(path).getCanonicalPath(); > + WebResource resource = resources.getResource(path); > + if (resource.isDirectory()) { > + return resource.getCanonicalPath() + File.separatorChar;
1) I think it is better to check whether it ends with separatorChar first. E.g. if a Windows drive root is deployed as a web application. I think that getCanonicalPath() will end with a backslash. T:\ is the root directory of drive T, T: is the current directory on drive T. 2) I think that this changes the value of getRealPath(""), I have not tested whether it was ending with a slash in the old versions. > + } else { > + return resource.getCanonicalPath(); > + } > } catch (IllegalArgumentException iae) { > // ServletContext.getRealPath() does not allow this to be > thrown > } Best regards, Konstantin Kolinko --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org