Author: shankar
Date: Mon Apr  5 12:57:09 2010
New Revision: 930851

URL: http://svn.apache.org/viewvc?rev=930851&view=rev
Log:
Fixing memory leaks

Modified:
    axis/axis2/c/core/trunk/src/core/transport/http/common/http_worker.c

Modified: axis/axis2/c/core/trunk/src/core/transport/http/common/http_worker.c
URL: 
http://svn.apache.org/viewvc/axis/axis2/c/core/trunk/src/core/transport/http/common/http_worker.c?rev=930851&r1=930850&r2=930851&view=diff
==============================================================================
--- axis/axis2/c/core/trunk/src/core/transport/http/common/http_worker.c 
(original)
+++ axis/axis2/c/core/trunk/src/core/transport/http/common/http_worker.c Mon 
Apr  5 12:57:09 2010
@@ -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);


Reply via email to