summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar shankar2010-04-05 12:57:09 +0000
committerGravatar shankar2010-04-05 12:57:09 +0000
commitee9d060d4221963c6e5bf5950a7e9b99c10cba29 (patch)
tree230e995e0262368f5c68a485864897c7b1abc502
parent0e0c9b0e69203e8a6d3c19785202d5c21bb71a7e (diff)
downloadaxis2c-ee9d060d4221963c6e5bf5950a7e9b99c10cba29.tar.gz
axis2c-ee9d060d4221963c6e5bf5950a7e9b99c10cba29.tar.bz2
Fixing memory leaks
git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@930851 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/core/transport/http/common/http_worker.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/core/transport/http/common/http_worker.c b/src/core/transport/http/common/http_worker.c
index 26ccce3..9306d8c 100644
--- a/src/core/transport/http/common/http_worker.c
+++ b/src/core/transport/http/common/http_worker.c
@@ -775,8 +775,7 @@ axis2_http_worker_process_request(
url_ext_form);
}
- if(url_ext_form)
- AXIS2_FREE(env->allocator, url_ext_form);
+
if(AXIS2_FAILURE == status && (is_put || axis2_msg_ctx_get_doing_rest(msg_ctx, env)))
{
/* Failure Occur while processing REST */
@@ -1105,6 +1104,11 @@ axis2_http_worker_process_request(
status = AXIS2_TRUE;
}
+ if(url_ext_form)
+ {
+ AXIS2_FREE(env->allocator, url_ext_form);
+ }
+
op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env);
if (op_ctx)
{
@@ -1807,6 +1811,11 @@ axis2_http_worker_process_request(
}
} /* Done freeing message contexts */
+ else
+ {
+ /* cases like HEAD, WSDL */
+ axis2_msg_ctx_free(msg_ctx, env);
+ }
msg_ctx = NULL;
axutil_url_free(request_url, env);