[ 
https://issues.apache.org/jira/browse/WICKET-6131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Grigorov updated WICKET-6131:
------------------------------------
    Summary: IndexOutOfBoundsException in 
org.apache.wicket.core.request.mapper.CryptoMapper.decryptEntireUrl  (was: 
IndexOutOfBoundsException in 
org.apache.wicket.core.request.mapper.CryptoMapper.decryptEntireUr)

> IndexOutOfBoundsException in 
> org.apache.wicket.core.request.mapper.CryptoMapper.decryptEntireUrl
> ------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-6131
>                 URL: https://issues.apache.org/jira/browse/WICKET-6131
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 6.20.0
>         Environment: Ubuntu Server
>            Reporter: Maciej Miklas
>            Assignee: Martin Grigorov
>
> We are getting following exception: 
> {code}
> java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
>       at java.util.ArrayList.rangeCheck(ArrayList.java:653)
>       at java.util.ArrayList.get(ArrayList.java:429)
>       at 
> org.apache.wicket.core.request.mapper.CryptoMapper.decryptEntireUrl(CryptoMapper.java:537)
>       at 
> org.apache.wicket.core.request.mapper.CryptoMapper.decryptUrl(CryptoMapper.java:387)
>       at 
> org.apache.wicket.core.request.mapper.CryptoMapper.getCompatibilityScore(CryptoMapper.java:189)
>       at 
> org.apache.wicket.request.mapper.CompoundRequestMapper.mapRequest(CompoundRequestMapper.java:138)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.resolveRequestHandler(RequestCycle.java:190)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:215)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
> {code}
> In order to fix it, you should change code in decryptEntireUrl from:
> {code:java}
>               for (; segNo < encryptedNumberOfSegments; segNo++)
>               {
>                       if (segNo > originalNumberOfSegments)
>                       {
>                               break;
>                       }
> {code}
> to
> {code:java}
>               for (; segNo < encryptedNumberOfSegments; segNo++)
>               {
>                       if (segNo >= originalNumberOfSegments) // > was 
> replaced with >=
>                       {
>                               break;
>                       }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to