[ 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]