[
https://issues.apache.org/jira/browse/MYFACES-4107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bill Lucy updated MYFACES-4107:
-------------------------------
Resolution: Fixed
Fix Version/s: 2.3.0
2.2.13
2.1.19
2.0.25
Status: Resolved (was: Patch Available)
> StringIndexOutOfBoundsException in getResourceVersion
> -----------------------------------------------------
>
> Key: MYFACES-4107
> URL: https://issues.apache.org/jira/browse/MYFACES-4107
> Project: MyFaces Core
> Issue Type: Bug
> Affects Versions: 2.0.24, 2.1.18, 2.2.12, 2.3.0
> Environment: WebSphere Liberty
> Reporter: Bill Lucy
> Assignee: Bill Lucy
> Priority: Minor
> Fix For: 2.0.25, 2.1.19, 2.2.13, 2.3.0
>
> Attachments: MYFACES-4107.patch
>
>
> I've run into a case where, given an incorrect context parameter, a
> StringIndexOutOfBoundsException is thrown. This occurs in WebSphere Liberty
> because the server normalizes the external context resource paths during app
> initialization.
> For example, this parameter:
> <context-param>
> <param-name>javax.faces.WEBAPP_RESOURCES_DIRECTORY</param-name>
> <param-value>/META-INF/resources</param-value>
> </context-param>
> throws:
> java.lang.StringIndexOutOfBoundsException: String index out of range: 35
> at java.lang.String.substring(String.java:1377)
> at
> org.apache.myfaces.shared.resource.ExternalContextResourceLoader.getResourceVersion(ExternalContextResourceLoader.java:81)
> That parameter value is not allowed to have a leading slash. However, the
> current exception is not very helpful, and can be easily avoided.
> I'll attach a patch which avoids the StringIndexOutOfBoundsException in
> getResourceVersion(); we already have this logic in getLibraryVersion().
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)