Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Ubuntu
Description
<snippet>
AXIS2_EXTERN
void axis2_svc_client_send_receive_non_blocking(
axis2_svc_client_t* svc_client,
const axutil_env_t* env,
const axiom_node_t* payload,
axis2_callback_t* callback)
</snippet>
Problem: This function takes responsibility for the memory allocated for the parameter payload (assumed due to access violations for free-ing), as well as the custom headers that have been added to the parameter svc_client (again, assumed because of access violations on free-ing). This function also takes responsibility for the memory allocated at callback, through the following call tree:
axis2_svc_client_send_receive_non_blocking
axis2_svc_client_send_receive_non_blocking_with_op_qname
axis2_op_client_set_callback
The memory is free-ed with a call to axis2_op_client_free (it is assumed that someone calls this)
Solution: Document memory ownership for parameters and return value.