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

Senaka Fernando resolved AXIS2C-856.
------------------------------------

    Resolution: Fixed
      Assignee: Senaka Fernando

Fixed Issue. Thanks Bill for the input.

> axiom_element_get_children() code behavior does not match header description
> ----------------------------------------------------------------------------
>
>                 Key: AXIS2C-856
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-856
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: xml/om
>    Affects Versions: 1.1.0
>         Environment: Windows XP, Visual Studio 2005, guththila parser, libcurl
>            Reporter: Bill Mitchell
>            Assignee: Senaka Fernando
>            Priority: Minor
>         Attachments: diff.txt
>
>
> The comments in axiom_element.h describing the behavior of 
> axiom_element_get_children indicate that the returned interator is owned by 
> the user and must be freed by the user.  In fact, the code implements this 
> function like axiom_element_get_children_with_qname, where the iterator is 
> owned by the element and is freed when the om is freed.
> Obviously if the user follows the instructions in the .h file and frees the 
> iterator, the memory may be reused before the om structure is freed, at which 
> time things go rapidly downhill.  
> Here are the current comments:
>     /**
>      *   returns a list of children iterator
>      *   iterators free function must be called by user
>      */
>     AXIS2_EXTERN axiom_children_iterator_t *AXIS2_CALL
>     axiom_element_get_children(
>         axiom_element_t * om_element,
>         const axutil_env_t * env,
>         axiom_node_t * element_node);
> I suggest this should read:
>     /**
>      *   returns a list of children iterator
>      *   returned iterator is freed when om element struct
>      *  is freed 
>      *   iterators reset function must be called by user
>      */
>     AXIS2_EXTERN axiom_children_iterator_t *AXIS2_CALL
>     axiom_element_get_children(
> ...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to