You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sa...@apache.org on 2006/03/03 10:54:52 UTC
svn commit: r382743 -
/webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c
Author: sahan
Date: Fri Mar 3 01:54:51 2006
New Revision: 382743
URL: http://svn.apache.org/viewcvs?rev=382743&view=rev
Log:
Again fixing memory leaks
Modified:
webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c
Modified: webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c?rev=382743&r1=382742&r2=382743&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c Fri Mar 3 01:54:51 2006
@@ -155,6 +155,8 @@
axis2_op_ctx_t *op_ctx = NULL;
axis2_char_t *svr_ip = NULL;
axis2_url_t *request_url = NULL;
+ axis2_char_t *url_external_form = NULL;
+ axis2_qname_t *tmp_qname = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, svr_conn, AXIS2_FAILURE);
@@ -211,15 +213,15 @@
}
request_body = AXIS2_HTTP_SIMPLE_REQUEST_GET_BODY(simple_request, env);
-
+
+ tmp_qname = axis2_qname_create(env, AXIS2_TRANSPORT_HTTP, NULL, NULL);
out_desc = AXIS2_CONF_GET_TRANSPORT_OUT(AXIS2_CONF_CTX_GET_CONF
- (http_worker_impl->conf_ctx, env), env,
- axis2_qname_create(env, AXIS2_TRANSPORT_HTTP, NULL,
- NULL));
+ (http_worker_impl->conf_ctx, env), env,
+ tmp_qname);
in_desc = AXIS2_CONF_GET_TRANSPORT_IN(AXIS2_CONF_CTX_GET_CONF
(http_worker_impl->conf_ctx, env), env,
- axis2_qname_create(env, AXIS2_TRANSPORT_HTTP, NULL,
- NULL));
+ tmp_qname);
+ AXIS2_QNAME_FREE(tmp_qname, env);
msg_ctx = axis2_msg_ctx_create(env, conf_ctx, in_desc, out_desc);
AXIS2_MSG_CTX_SET_SERVER_SIDE(msg_ctx, env, AXIS2_TRUE);
@@ -235,6 +237,7 @@
AXIS2_HTTP_REQUEST_LINE_GET_URI(
AXIS2_HTTP_SIMPLE_REQUEST_GET_REQUEST_LINE(
simple_request, env), env));
+ url_external_form = AXIS2_URL_TO_EXTERNAL_FORM(request_url, env);
AXIS2_MSG_CTX_SET_PROPERTY(msg_ctx, env, AXIS2_TRANSPORT_OUT, out_stream,
AXIS2_FALSE);
AXIS2_MSG_CTX_SET_PROPERTY(msg_ctx, env, AXIS2_TRANSPORT_HEADERS,
@@ -302,7 +305,7 @@
(env, msg_ctx, request_body, out_stream,
AXIS2_HTTP_SIMPLE_REQUEST_GET_CONTENT_TYPE(
simple_request, env) , content_length, soap_action,
- AXIS2_URL_TO_EXTERNAL_FORM(request_url, env));
+ url_external_form);
if(status == AXIS2_FAILURE)
{
axis2_msg_ctx_t *fault_ctx = NULL;
@@ -370,8 +373,12 @@
out_stream, env));
status = AXIS2_SIMPLE_HTTP_SVR_CONN_WRITE_RESPONSE(svr_conn, env, response);
+ AXIS2_FREE((*env)->allocator, url_external_form);
+ url_external_form = NULL;
AXIS2_MSG_CTX_FREE(msg_ctx, env);
msg_ctx = NULL;
+ AXIS2_URL_FREE(request_url, env);
+ request_url = NULL;
AXIS2_HTTP_SIMPLE_RESPONSE_FREE(response, env);
response = NULL;
return status;