You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Deepal Jayasinghe (JIRA)" <ji...@apache.org> on 2006/04/03 09:58:44 UTC

[jira] Assigned: (AXIS2-359) Stack overflow when processing XSD with mutual recursion

     [ http://issues.apache.org/jira/browse/AXIS2-359?page=all ]

Deepal Jayasinghe reassigned AXIS2-359:
---------------------------------------

    Assign To: Ajith Harshana Ranabahu

> Stack overflow when processing XSD with mutual recursion
> --------------------------------------------------------
>
>          Key: AXIS2-359
>          URL: http://issues.apache.org/jira/browse/AXIS2-359
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>   Components: wsdl
>     Versions: 0.92, 0.91, 0.9, 0.93
>  Environment: Win2K, Java  1.4.2_08-b03, Axis2 0.91, Axis2 0.93
>     Reporter: Kevin J. Winters
>     Assignee: Ajith Harshana Ranabahu

>
> The recursive method WSDLPump.pushSchemaElement(...) does not protect against schemas with mutual recursion.  A check of already processed namespaces could be used to prevent the stack overflow in a manner similar to:
>    ...
> /** begin mod **/
>     private HashSet schemaCache = new HashSet();
> /**  end mod  **/
>    
>     private void pushSchemaElement(Schema originalSchema,Stack stack){
>         if (originalSchema==null){
>             return;
>         }
>    
> /** begin mod **/
>         if ( schemaCache.contains(originalSchema.getDocumentBaseURI())) {
>             return;
>         } else {
>             schemaCache.add(originalSchema.getDocumentBaseURI());
>         }
> /**  end mod  **/
>         stack.push(originalSchema);
>         ...

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira