|Summary:||In 8.0.32, WebappClassLoaderBase.filter throws StringIndexOutOfBoundsException for "org"|
|Product:||Tomcat 8||Reporter:||Max Tardiveau <max.tardiveau>|
|Component:||Manager||Assignee:||Tomcat Developers Mailing List <dev>|
|OS:||Mac OS X 10.1|
Description Max Tardiveau 2016-02-16 16:12:18 UTC
As of 8.0.32, WebappClassLoaderBase.filter() now looks for "org" in the class name, but if the class name happens to be just "org", it throws a StringIndexOutOfBoundsException at line 2780. This may seem minor (who's got a class called "org"?) but it's not, because applications that use Rhino will hit this problem very quickly. When loading a class a.b.c.MyClass, Rhino will try to load each package, i.e. a, then a.b, then a.b.c, then finally a.b.c.MyClass. So if you try to load a class that's in a org package, you get the exception. The fix should be simple: if the class name starts with "org", do *not* assume that it's longer than 3 characters.