Function axis2_svc_client_remove_all_headers --------------------------------------------
Key: AXIS2C-867 URL: https://issues.apache.org/jira/browse/AXIS2C-867 Project: Axis2-C Issue Type: Bug Components: core/clientapi Affects Versions: Current (Nightly) Environment: Ubuntu 7.04 Reporter: Lahiru Gunathilake Fix For: Current (Nightly) for (i = 0; i < size; i++) { /*axiom_node_t *node = NULL; node = axutil_array_list_get(svc_client->headers, env, i); if (node) { axiom_node_free_tree(node, env); node = NULL; } */ axutil_array_list_remove(svc_client->headers, env, i); } AXIS2_EXTERN void *AXIS2_CALL axutil_array_list_remove( struct axutil_array_list *array_list, const axutil_env_t * env, int index) { void *result = NULL; int i = 0; AXIS2_PARAM_CHECK (env->error, array_list, AXIS2_FAILURE); if (axutil_array_list_check_bound_exclusive(array_list, env, index)) { result = array_list->data[index]; for (i = index; i < array_list->size - 1; i++) array_list->data[i] = array_list->data[i + 1]; array_list->size--; } return result; } There is a possible bug in "axis2_svc_client_remove_all_headers" function. The call to "axutil_array_list_remove" is where the problem stems from. Since the for-loop is incrementing, and the value of "array_list->size" is decrementing, eventually line 120 will fail, and some of the headers will not be cleared out. -- 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]