[prev in list] [next in list] [prev in thread] [next in thread]
List: rampart-dev
Subject: [jira] [Resolved] (AXIS2-5078) Axis takes 100% CPU, infinite loop
From: "Andreas Veithen (JIRA)" <jira () apache ! org>
Date: 2011-06-25 12:08:47
Message-ID: 699771863.40324.1309003727397.JavaMail.tomcat () hel ! zones ! apache ! org
[Download RAW message or body]
[ https://issues.apache.org/jira/browse/AXIS2-5078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]
Andreas Veithen resolved AXIS2-5078.
------------------------------------
Resolution: Fixed
Fix Version/s: 1.7.0
1.6.1
1.5.6
Fixed.
Thanks for providing the information necessary to reproduce this issue!
> Axis takes 100% CPU, infinite loop in the QueryStringParser
> -----------------------------------------------------------
>
> Key: AXIS2-5078
> URL: https://issues.apache.org/jira/browse/AXIS2-5078
> Project: Axis2
> Issue Type: Bug
> Components: kernel
> Affects Versions: 1.5.5
> Environment: Mac, Linux
> Reporter: Jonathan Ducharme
> Assignee: Andreas Veithen
> Fix For: 1.5.6, 1.6.1, 1.7.0
>
>
> Hi,
> My problem is basically https://issues.apache.org/jira/browse/AXIS2-4736, but since \
> it was closed without the step to reproduce, I've open a new issue, and will give \
> you the code I made to test it. Yes it's a malformed URL, but I think it's still an \
> issue. public static void main( String[] args ) {
> QueryStringParser parser = new QueryStringParser("&gsdfgfds");
> parser.search( new ArrayList<String>() );
> System.out.println("done");
> }
> That being said, what I did is change the next() method by adding a check on the \
> idx: public boolean next() {
> int len = queryString.length();
> if (paramEnd == len) {
> return false;
> }
> paramBegin = paramEnd == 0 ? 0 : paramEnd+1;
> int idx = queryString.indexOf('&', paramBegin);
>
> if(idx == 0) {
> return false;
> }
>
> paramEnd = idx == -1 ? len : idx;
> idx = queryString.indexOf('=', paramBegin);
> paramNameEnd = idx == -1 || idx > paramEnd ? paramEnd : idx;
> paramName = null;
> paramValue = null;
> return true;
> }
> For our current needs it work, might not be the best solution, but for what we had \
> to do it worked pretty well. This also pass the QueryStringParserTest that axis \
> has.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic