axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AXIS2-5078) Axis takes 100% CPU, infinite loop in the QueryStringParser
Date Sun, 26 Jun 2011 01:46:47 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-5078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13055003#comment-13055003
] 

Hudson commented on AXIS2-5078:
-------------------------------

Integrated in axis2-1.5 #151 (See [https://builds.apache.org/job/axis2-1.5/151/])
    AXIS2-5078: Merged r1139448 to the 1.5 branch.

veithen : 
Files : 
* /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module/pom.xml
* /axis/axis2/java/core/branches/1_5/modules/transport/http/pom.xml
* /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module/src/main/java/org/apache/axis2/handlers
* /axis/axis2/java/core/branches/1_5
* /axis/axis2/java/core/branches/1_5/modules/saaj/test/org/apache/axis2/saaj/TestUtils.java
* /axis/axis2/java/core/branches/1_5/modules/kernel/src/org/apache/axis2/transport/http/util/QueryStringParser.java
* /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module/src/main/resources/META-INF/module.xml
* /axis/axis2/java/core/branches/1_5/modules/kernel/test/org/apache/axis2/transport/http/util/QueryStringParserTest.java
* /axis/axis2/java/core/branches/1_5/modules/soapmonitor/servlet/src/main/java/org/apache/axis2/soapmonitor/servlet
* /axis/axis2/java/core/branches/1_5/modules/tool/axis2-repo-maven-plugin
* /axis/axis2/java/core/branches/1_5/modules/transport/http/src
* /axis/axis2/java/core/branches/1_5/modules/distribution
* /axis/axis2/java/core/branches/1_5/modules/soapmonitor/servlet/src/main/java/org/apache/axis2/soapmonitor/applet
* /axis/axis2/java/core/branches/1_5/modules/transport/local
* /axis/axis2/java/core/branches/1_5/modules/webapp/src/main/java/org/apache/axis2/webapp/AxisAdminServlet.java
* /axis/axis2/java/core/branches/1_5/modules/soapmonitor/servlet
* /axis/axis2/java/core/branches/1_5/modules/webapp/src/main/java/org/apache/axis2/webapp/AdminAgent.java
* /axis/axis2/java/core/branches/1_5/modules/parent
* /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module


> 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


Mime
View raw message