[
https://issues.apache.org/jira/browse/WICKET-6131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maciej Miklas updated WICKET-6131:
----------------------------------
Description:
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}
was:
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)
{
break;
}
{code}
> IndexOutOfBoundsException in
> org.apache.wicket.core.request.mapper.CryptoMapper.decryptEntireUr
> -----------------------------------------------------------------------------------------------
>
> 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
>
> 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)