Bug 59013

Summary: In 8.0.32, WebappClassLoaderBase.filter throws StringIndexOutOfBoundsException for "org"
Product: Tomcat 8 Reporter: Max Tardiveau <max.tardiveau>
Component: ManagerAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: P2    
Version: 8.0.32   
Target Milestone: ----   
Hardware: Macintosh   
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.
Comment 1 Violeta Georgieva 2016-02-16 16:13:47 UTC

*** This bug has been marked as a duplicate of bug 58999 ***