Author: damitha
Date: Tue Jan 22 00:40:24 2008
New Revision: 614147

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

Modified:
    webservices/sandesha/trunk/c/include/sandesha2_rm_elements.h
    webservices/sandesha/trunk/c/src/core/mod_sandesha2.c
    webservices/sandesha/trunk/c/src/core/sandesha2_msg_ctx.c
    webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c
    webservices/sandesha/trunk/c/src/util/ack_mgr.c
    webservices/sandesha/trunk/c/src/util/msg_init.c
    webservices/sandesha/trunk/c/src/util/property_mgr.c
    webservices/sandesha/trunk/c/src/workers/sender_worker.c
    webservices/sandesha/trunk/c/src/wsrm/address.c
    webservices/sandesha/trunk/c/src/wsrm/rm_elements.c
    webservices/sandesha/trunk/c/src/wsrm/seq_ack.c

Modified: webservices/sandesha/trunk/c/include/sandesha2_rm_elements.h
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_rm_elements.h?rev=614147&r1=614146&r2=614147&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_rm_elements.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_rm_elements.h Tue Jan 22 
00:40:24 2008
@@ -54,8 +54,7 @@
 
 AXIS2_EXTERN sandesha2_rm_elements_t* AXIS2_CALL
 sandesha2_rm_elements_create(
-    const axutil_env_t *env,
-    axis2_char_t *addr_ns_uri);
+    const axutil_env_t *env);
  
 axis2_status_t AXIS2_CALL 
 sandesha2_rm_elements_from_soap_envelope(
@@ -170,20 +169,13 @@
     sandesha2_close_seq_res_t *close_seq_res);
     
 axis2_char_t* AXIS2_CALL 
-sandesha2_rm_elements_get_addr_ns_val(
-    sandesha2_rm_elements_t *rm_elements,
-    const axutil_env_t *env);
-
-axis2_char_t* AXIS2_CALL 
 sandesha2_rm_elements_get_rm_ns_val(
-    sandesha2_rm_elements_t *rm_elements,
     const axutil_env_t *env,
     axiom_soap_envelope_t *soap_envelope,
     axis2_char_t *action);
 
 axis2_char_t* AXIS2_CALL 
 sandesha2_rm_elements_get_addr_ns_val_from_env(
-    sandesha2_rm_elements_t *rm_elements,
     const axutil_env_t *env,
     axiom_soap_envelope_t *soap_envelope,
     axis2_char_t *action);

Modified: webservices/sandesha/trunk/c/src/core/mod_sandesha2.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/core/mod_sandesha2.c?rev=614147&r1=614146&r2=614147&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/core/mod_sandesha2.c (original)
+++ webservices/sandesha/trunk/c/src/core/mod_sandesha2.c Tue Jan 22 00:40:24 
2008
@@ -55,9 +55,8 @@
     module = AXIS2_MALLOC(env->allocator, 
         sizeof(axis2_module_t));
 
-    
-    module->ops = AXIS2_MALLOC(
-        env->allocator, sizeof(axis2_module_ops_t));
+    /*module->ops = AXIS2_MALLOC(
+        env->allocator, sizeof(axis2_module_ops_t));*/
     module->ops = &mod_sandesha2_ops_var;
     return module;
 }

Modified: webservices/sandesha/trunk/c/src/core/sandesha2_msg_ctx.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/core/sandesha2_msg_ctx.c?rev=614147&r1=614146&r2=614147&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/core/sandesha2_msg_ctx.c (original)
+++ webservices/sandesha/trunk/c/src/core/sandesha2_msg_ctx.c Tue Jan 22 
00:40:24 2008
@@ -36,7 +36,6 @@
  */
 struct sandesha2_msg_ctx_t
 {
-    axutil_hash_t *msg_parts;
     int msg_type;
     axis2_char_t *rm_ns_val;
     axis2_char_t *addr_ns_val;
@@ -72,7 +71,6 @@
        }
     rm_msg_ctx->rm_ns_val = NULL;
     rm_msg_ctx->addr_ns_val = NULL;
-    rm_msg_ctx->msg_parts = NULL;
     rm_msg_ctx->msg_ctx = NULL;
     rm_msg_ctx->spec_ver = NULL;
     rm_msg_ctx->create_seq = NULL;
@@ -87,7 +85,6 @@
     rm_msg_ctx->seq_ack = NULL;
     rm_msg_ctx->ack_requested = NULL;
     
-    rm_msg_ctx->msg_parts = axutil_hash_make(env);
     rm_msg_ctx->msg_type = SANDESHA2_MSG_TYPE_UNKNOWN;
     rm_msg_ctx->msg_ctx = msg_ctx;
 

Modified: webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c?rev=614147&r1=614146&r2=614147&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c (original)
+++ webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c Tue Jan 22 
00:40:24 2008
@@ -127,7 +127,6 @@
         return AXIS2_FAILURE;
     }
     rm_msg_ctx = sandesha2_msg_init_init_msg(env, msg_ctx);
-
     /*if(!AXIS2_ERROR_GET_STATUS_CODE(env->error))
     {
         // Message should not be sent in an exception situation

Modified: webservices/sandesha/trunk/c/src/util/ack_mgr.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/ack_mgr.c?rev=614147&r1=614146&r2=614147&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/ack_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/ack_mgr.c Tue Jan 22 00:40:24 2008
@@ -317,6 +317,8 @@
                         
     found_list = sandesha2_sender_mgr_find_by_sender_bean(sender_mgr, env, 
         find_bean);
+    if(find_bean)
+        sandesha2_sender_bean_free(find_bean, env);
     for(i = 0; i < axutil_array_list_size(found_list, env); i++)
     {
         sandesha2_sender_bean_t *sender_bean = NULL;

Modified: webservices/sandesha/trunk/c/src/util/msg_init.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/msg_init.c?rev=614147&r1=614146&r2=614147&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/msg_init.c (original)
+++ webservices/sandesha/trunk/c/src/util/msg_init.c Tue Jan 22 00:40:24 2008
@@ -109,7 +109,6 @@
     sandesha2_msg_ctx_t *rm_msg_ctx)
 {
     axis2_char_t *addressing_ns = NULL;
-    axis2_char_t *addressing_ns_value = NULL;
     axis2_char_t *rm_ns = NULL;
     axis2_char_t *action = NULL;
     axutil_property_t *prop = NULL;
@@ -137,22 +136,13 @@
         ctx = axis2_msg_ctx_get_base(msg_ctx, env);
     prop = axis2_ctx_get_property(ctx, env, AXIS2_WSA_VERSION);
     if(prop)
-        addressing_ns = axutil_strdup(env, axutil_property_get_value(prop, 
env));
+        addressing_ns = axutil_property_get_value(prop, env);
     
     if(!addressing_ns && !axis2_msg_ctx_get_server_side(msg_ctx, env))
     {
-        addressing_ns = axutil_strdup(env, AXIS2_WSA_NAMESPACE);
-    }
-    if(addressing_ns)
-        rm_elements = sandesha2_rm_elements_create(env, addressing_ns);
-    if(addressing_ns)
-        AXIS2_FREE(env->allocator, addressing_ns);
-    if(!rm_elements)
-    {
-        AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-            "[sandesha2]Could not create rm_elements");
-        return AXIS2_FAILURE;
+        addressing_ns = AXIS2_WSA_NAMESPACE;
     }
+    rm_elements = sandesha2_rm_elements_create(env);
     envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env);
     action = (axis2_char_t*)axis2_msg_ctx_get_wsa_action(msg_ctx, env);
     sandesha2_rm_elements_from_soap_envelope(rm_elements, env, envelope, 
action);
@@ -249,12 +239,10 @@
         add_op_if_null(env, msg_ctx);
     }
     sandesha2_msg_ctx_set_rm_ns_val(rm_msg_ctx, env, rm_ns);
-    addressing_ns_value = sandesha2_rm_elements_get_addr_ns_val(
-            rm_elements, env);
-    if(addressing_ns_value)
+    if(addressing_ns)
     {
         sandesha2_msg_ctx_set_addr_ns_val(rm_msg_ctx, env, 
-                addressing_ns_value);
+                addressing_ns);
     }
     if(rm_elements)
         sandesha2_rm_elements_free(rm_elements, env);

Modified: webservices/sandesha/trunk/c/src/util/property_mgr.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/property_mgr.c?rev=614147&r1=614146&r2=614147&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/property_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/property_mgr.c Tue Jan 22 00:40:24 
2008
@@ -235,6 +235,8 @@
         if(0 < max_retrans_count)
             sandesha2_property_bean_set_max_retrans_count(property_bean, env, 
                 max_retrans_count);
+        if(str)
+            AXIS2_FREE(env->allocator, str);
     }
 
     return property_bean;
@@ -258,6 +260,8 @@
     else
         sandesha2_property_bean_set_exp_backoff(property_bean, env, 
             AXIS2_FALSE);
+    if(str)
+        AXIS2_FREE(env->allocator, str);
     return AXIS2_SUCCESS;
 }
                         
@@ -280,6 +284,8 @@
     if(0 < retrans_int)
         sandesha2_property_bean_set_retrans_interval(property_bean, env, 
                     retrans_int);
+    if(str)
+        AXIS2_FREE(env->allocator, str);
     return AXIS2_SUCCESS;
 }
                         
@@ -301,6 +307,8 @@
         ack_int = atoi(str);
     if(0 < ack_int)
         sandesha2_property_bean_set_ack_interval(property_bean, env, ack_int);
+    if(str)
+        AXIS2_FREE(env->allocator, str);
     return AXIS2_SUCCESS;
 }
 
@@ -333,6 +341,10 @@
             
sandesha2_property_bean_set_inactive_timeout_interval(property_bean,
                 env, timeout);
     }
+    if(str)
+        AXIS2_FREE(env->allocator, str);
+    if(str2)
+        AXIS2_FREE(env->allocator, str2);
     return AXIS2_SUCCESS;
 }
 
@@ -381,7 +393,8 @@
         sandesha2_property_bean_set_in_order(property_bean, env, AXIS2_TRUE);
     else
         sandesha2_property_bean_set_in_order(property_bean, env, AXIS2_FALSE);
-    
+    if(str)
+        AXIS2_FREE(env->allocator, str);
     return AXIS2_SUCCESS;
 }
 
@@ -417,6 +430,8 @@
             }
         }
     }
+    if(str)
+        AXIS2_FREE(env->allocator, str);
     return AXIS2_SUCCESS;
 }
 

Modified: webservices/sandesha/trunk/c/src/workers/sender_worker.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/workers/sender_worker.c?rev=614147&r1=614146&r2=614147&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/workers/sender_worker.c (original)
+++ webservices/sandesha/trunk/c/src/workers/sender_worker.c Tue Jan 22 
00:40:24 2008
@@ -410,8 +410,8 @@
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_FALSE);
         axis2_msg_ctx_free(msg_ctx, env);
     }*/
-    /*if(rm_msg_ctx)
-        sandesha2_msg_ctx_free(rm_msg_ctx, env);*/
+    if(rm_msg_ctx)
+        sandesha2_msg_ctx_free(rm_msg_ctx, env);
     AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, 
         "[sandesha2]Exit:sandesha2_sender_worker_send");        
     return status;

Modified: webservices/sandesha/trunk/c/src/wsrm/address.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/address.c?rev=614147&r1=614146&r2=614147&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/address.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/address.c Tue Jan 22 00:40:24 2008
@@ -124,6 +124,8 @@
     } 
     addr_part = axiom_element_get_first_child_with_qname(om_element, env, 
             addr_qname, om_node, &addr_node);
+    if(addr_qname)
+        axutil_qname_free(addr_qname, env);
     if(!addr_part)
     {
         AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT,

Modified: webservices/sandesha/trunk/c/src/wsrm/rm_elements.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/rm_elements.c?rev=614147&r1=614146&r2=614147&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/rm_elements.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/rm_elements.c Tue Jan 22 00:40:24 2008
@@ -40,16 +40,13 @@
     sandesha2_close_seq_t *close_seq;
     sandesha2_close_seq_res_t *close_seq_res;
     sandesha2_ack_requested_t *ack_requested;
-    axis2_char_t *rm_ns_val;
-    axis2_char_t *addr_ns_val;
     sandesha2_make_connection_t *make_connection;
     sandesha2_msg_pending_t *msg_pending;
 };
 
 AXIS2_EXTERN sandesha2_rm_elements_t* AXIS2_CALL
 sandesha2_rm_elements_create(
-    const axutil_env_t *env,
-    axis2_char_t *addr_ns_val)
+    const axutil_env_t *env)
 {
     sandesha2_rm_elements_t *rm_elements = NULL;
     rm_elements =  (sandesha2_rm_elements_t *)AXIS2_MALLOC 
@@ -68,13 +65,8 @@
     rm_elements->close_seq = NULL;
     rm_elements->close_seq_res = NULL;
     rm_elements->ack_requested = NULL;
-    rm_elements->rm_ns_val = NULL;
-    rm_elements->addr_ns_val = NULL;
     rm_elements->make_connection = NULL;
     rm_elements->msg_pending = NULL;
-    
-    rm_elements->addr_ns_val = axutil_strdup(env, addr_ns_val);
-    
        return rm_elements;
 }
 
@@ -83,16 +75,6 @@
     sandesha2_rm_elements_t *rm_elements, 
     const axutil_env_t *env)
 { 
-    if(rm_elements->addr_ns_val)
-    {
-        AXIS2_FREE(env->allocator, rm_elements->addr_ns_val);
-        rm_elements->addr_ns_val = NULL;
-    }
-    if(rm_elements->rm_ns_val)
-    {
-        AXIS2_FREE(env->allocator, rm_elements->rm_ns_val);
-        rm_elements->rm_ns_val = NULL;
-    }
        AXIS2_FREE(env->allocator, rm_elements);
        return AXIS2_SUCCESS;
 }
@@ -141,21 +123,15 @@
     AXIS2_PARAM_CHECK(env->error, action, AXIS2_FAILURE);
     
     soap_version = axiom_soap_envelope_get_soap_version(soap_envelope, env);
-    
-    rm_elements->rm_ns_val = axutil_strdup(env, 
-        sandesha2_rm_elements_get_rm_ns_val(rm_elements, env, soap_envelope, 
-            action));
-                        
-    if(!rm_elements->rm_ns_val)
+    rm_ns_val = sandesha2_rm_elements_get_rm_ns_val(env, soap_envelope, 
action);
+    if(!rm_ns_val)
         return AXIS2_SUCCESS;
-        
-    rm_elements->addr_ns_val =  axutil_strdup(env, 
-        sandesha2_rm_elements_get_addr_ns_val_from_env(rm_elements, env, 
-            soap_envelope, action));
-    if(!rm_elements->addr_ns_val)
+    addr_ns_val =  sandesha2_rm_elements_get_addr_ns_val_from_env(env, 
+        soap_envelope, action);
+    if(!addr_ns_val)
     {
-        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Cannot find the"
-                        " addressing version");
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
+            "[sandesha2]Cannot find the addressing version");
         return AXIS2_FAILURE;
     }
     soap_header = axiom_soap_envelope_get_header(soap_envelope, env);    
@@ -166,9 +142,6 @@
     body_node = axiom_soap_body_get_base_node(soap_body, env);
     body_element = axiom_node_get_data_element(body_node, env);
                         
-    rm_ns_val = rm_elements->rm_ns_val;
-    addr_ns_val = rm_elements->addr_ns_val;
-    
     qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_SEQ, rm_ns_val, 
NULL);
     seq_element = axiom_element_get_first_child_with_qname(header_element, env,
                         qname, header_node, &seq_node);
@@ -233,7 +206,6 @@
         sandesha2_terminate_seq_from_om_node(
             rm_elements->terminate_seq, env, terminate_seq_node);
     }
-    
     qname = axutil_qname_create(env, 
SANDESHA2_WSRM_COMMON_TERMINATE_SEQ_RESPONSE, 
         rm_ns_val, NULL);
     terminate_seq_res_element = axiom_element_get_first_child_with_qname(
@@ -247,7 +219,6 @@
         sandesha2_terminate_seq_res_from_om_node(
             rm_elements->terminate_seq_res, env, terminate_seq_res_node);
     }
-    
     qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_CLOSE_SEQ, 
rm_ns_val, 
         NULL);
     close_seq_element = axiom_element_get_first_child_with_qname(body_element, 
@@ -260,7 +231,6 @@
         sandesha2_close_seq_from_om_node(
             rm_elements->close_seq, env, close_seq_node);
     }
-    
     qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_CLOSE_SEQ_RESPONSE, 
                         rm_ns_val, NULL);
     close_seq_res_element = axiom_element_get_first_child_with_qname(
@@ -555,14 +525,6 @@
     return AXIS2_SUCCESS;
 }
     
-axis2_char_t* AXIS2_CALL 
-sandesha2_rm_elements_get_addr_ns_val(
-    sandesha2_rm_elements_t *rm_elements,
-    const axutil_env_t *env)
-{
-    return rm_elements->addr_ns_val;
-}
-
 sandesha2_make_connection_t* AXIS2_CALL 
 sandesha2_rm_elements_get_make_connection(
     sandesha2_rm_elements_t *rm_elements,
@@ -581,7 +543,6 @@
 
 axis2_char_t* AXIS2_CALL 
 sandesha2_rm_elements_get_rm_ns_val(
-    sandesha2_rm_elements_t *rm_elements,
     const axutil_env_t *env,
     axiom_soap_envelope_t *soap_envelope,
     axis2_char_t *action)
@@ -648,7 +609,6 @@
 
 axis2_char_t* AXIS2_CALL 
 sandesha2_rm_elements_get_addr_ns_val_from_env(
-    sandesha2_rm_elements_t *rm_elements,
     const axutil_env_t *env,
     axiom_soap_envelope_t *soap_envelope,
     axis2_char_t *action)

Modified: webservices/sandesha/trunk/c/src/wsrm/seq_ack.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/seq_ack.c?rev=614147&r1=614146&r2=614147&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/seq_ack.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/seq_ack.c Tue Jan 22 00:40:24 2008
@@ -100,9 +100,21 @@
         AXIS2_FREE(env->allocator, seq_ack->ns_val);
         seq_ack->ns_val = NULL;
     }
-    seq_ack->identifier = NULL;
-    seq_ack->ack_none = NULL;
-    seq_ack->ack_final = NULL;
+    if(seq_ack->identifier)
+    {
+        sandesha2_identifier_free(seq_ack->identifier, env);
+        seq_ack->identifier = NULL;
+    }
+    if(seq_ack->ack_none)
+    {
+        sandesha2_ack_none_free(seq_ack->ack_none, env);
+        seq_ack->ack_none = NULL;
+    }
+    if(seq_ack->ack_final)
+    {
+        sandesha2_ack_final_free(seq_ack->ack_final, env);
+        seq_ack->ack_final = NULL;
+    }
     seq_ack->must_understand = AXIS2_FALSE;
 
     if(NULL != seq_ack->ack_range_list)
@@ -210,6 +222,8 @@
     }
     nack_iter = axiom_element_get_children_with_qname(sa_part, env, 
nack_qname, 
         sa_node);
+    if(nack_qname)
+        axutil_qname_free(nack_qname, env);
     if(!nack_iter)
     {
         return NULL;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to