so the function AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_node_to_string( axiom_node_t * om_node, const axutil_env_t * env);
returns a pointer to new data every time it is called. how is this memory freed? when I do a free() on the memory returned from this I get an error : "Windows has triggered a breakpoint in appname.exe. This may be due to a corruption of the heap, and indicates a bug in appname.exe or any of the DLLs it has loaded."