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;