Your suggestion is good. However, it would require a lot of code changes and would break all projects that depend on Axis2/C.
Regards Nandika On Thu, Feb 2, 2012 at 10:48 PM, Michael Tyler (Commented) (JIRA) < j...@apache.org> wrote: > > [ > https://issues.apache.org/jira/browse/AXIS2C-1585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13198995#comment-13198995] > > Michael Tyler commented on AXIS2C-1585: > --------------------------------------- > > ok, you are right not sure what I was thinking. > > Would have to be > > void AXIS2_CALL > axutil_allocator_free_impl( > axutil_allocator_t * allocator, > void **ptr) > { > free(*ptr); > *ptr = NULL; > } > > and then the address of the address be passed in. > > So not sure which is less work, changing all the calls to free or add the > 'ptr = NULL' after ever call to free. But I still believe it would reduce > core dumps, because if you allow access to a 'free' functions most C coders > are going to try to clean up the memory they allocated, but frees are > attempted to be recusive at the highest level in Axis2/C. > > And the code all over the place is > > if( ptr ) > free(ptr); > > and this leads to double freeing rapidly. > > > Double freeing pointers > > ----------------------- > > > > Key: AXIS2C-1585 > > URL: https://issues.apache.org/jira/browse/AXIS2C-1585 > > Project: Axis2-C > > Issue Type: Improvement > > Components: util > > Reporter: Michael Tyler > > Labels: api-change, features, patch > > > > I believe that most of double freeing of pointer core dump issues can > simple by resolved by altering the axutil_allocator_free_impl function > > change > > void AXIS2_CALL > > axutil_allocator_free_impl( > > axutil_allocator_t * allocator, > > void *ptr) > > { > > free(ptr); > > } > > to > > void AXIS2_CALL > > axutil_allocator_free_impl( > > axutil_allocator_t * allocator, > > void *ptr) > > { > > free(ptr); > > ptr = NULL; > > } > > -- > This message is automatically generated by JIRA. > If you think it was sent incorrectly, please contact your JIRA > administrators: > https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa > For more information on JIRA, see: http://www.atlassian.com/software/jira > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: c-dev-unsubscr...@axis.apache.org > For additional commands, e-mail: c-dev-h...@axis.apache.org > >