You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by da...@apache.org on 2008/07/31 09:33:05 UTC

svn commit: r681288 - in /webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src: msgprocessors/ storage/beans/ storage/sqlite/ util/ wsrm/

Author: damitha
Date: Thu Jul 31 00:33:04 2008
New Revision: 681288

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

Modified:
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/app_msg_processor.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/create_seq_res_msg_processor.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/beans/create_seq_bean.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_create_seq_mgr.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/msg_creator.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/accept.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/acks_to.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/address.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/create_seq.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/create_seq_res.c
    webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/sequence.c

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/app_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/app_msg_processor.c?rev=681288&r1=681287&r2=681288&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/app_msg_processor.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/app_msg_processor.c Thu Jul 31 00:33:04 2008
@@ -1980,6 +1980,7 @@
         sandesha2_seq_property_bean_set_seq_id(offer_seq_bean, env, internal_sequence_id);
         sandesha2_seq_property_bean_set_value(offer_seq_bean, env, seq_offer_id);
         sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, offer_seq_bean);
+        sandesha2_seq_property_bean_free(offer_seq_bean, env);
     }
 
     create_seq_msg_ctx = sandesha2_msg_ctx_get_msg_ctx(create_seq_rm_msg_ctx, env);
@@ -2002,8 +2003,12 @@
     create_seq_bean = sandesha2_create_seq_bean_create_with_data(env, internal_sequence_id, 
             (axis2_char_t*)axis2_msg_ctx_get_wsa_message_id(create_seq_msg_ctx, env), NULL);
 
-    sandesha2_create_seq_bean_set_ref_msg_store_key(create_seq_bean, env, create_sequence_msg_store_key);
-    sandesha2_create_seq_mgr_insert(create_seq_mgr, env, create_seq_bean);
+    if(create_seq_bean)
+    {
+        sandesha2_create_seq_bean_set_ref_msg_store_key(create_seq_bean, env, create_sequence_msg_store_key);
+        sandesha2_create_seq_mgr_insert(create_seq_mgr, env, create_seq_bean);
+        sandesha2_create_seq_bean_free(create_seq_bean, env);
+    }
 
     addr_ns_uri = sandesha2_utils_get_seq_property(env, internal_sequence_id, 
             SANDESHA2_SEQ_PROP_ADDRESSING_NAMESPACE_VALUE, seq_prop_mgr);
@@ -2032,6 +2037,7 @@
     sandesha2_sender_bean_set_msg_type(create_sequence_sender_bean, env, SANDESHA2_MSG_TYPE_CREATE_SEQ);
     sandesha2_sender_mgr_insert(sender_mgr, env, create_sequence_sender_bean);
     sandesha2_storage_mgr_store_msg_ctx(storage_mgr, env, create_sequence_msg_store_key, create_seq_msg_ctx, AXIS2_TRUE);
+    AXIS2_FREE(env->allocator, create_sequence_msg_store_key);
 
     conf_ctx = axis2_msg_ctx_get_conf_ctx(create_seq_msg_ctx, env);
     engine = axis2_engine_create(env, conf_ctx);

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/create_seq_res_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/create_seq_res_msg_processor.c?rev=681288&r1=681287&r2=681288&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/create_seq_res_msg_processor.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/msgprocessors/create_seq_res_msg_processor.c Thu Jul 31 00:33:04 2008
@@ -89,7 +89,6 @@
     const axutil_env_t *env)
 {
     sandesha2_create_seq_res_msg_processor_impl_t *msg_proc_impl = NULL;
-    AXIS2_ENV_CHECK(env, NULL);
               
     msg_proc_impl =  (sandesha2_create_seq_res_msg_processor_impl_t *)AXIS2_MALLOC 
                         (env->allocator, 
@@ -106,7 +105,7 @@
     if(!msg_proc_impl->msg_processor.ops)
 	{
 		sandesha2_create_seq_res_msg_processor_free((sandesha2_msg_processor_t*)
-                         msg_proc_impl, env);
+            msg_proc_impl, env);
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
         return NULL;
 	}
@@ -115,8 +114,7 @@
                         sandesha2_create_seq_res_msg_processor_process_in_msg;
     msg_proc_impl->msg_processor.ops->process_out_msg = 0;
 
-    msg_proc_impl->msg_processor.ops->free = 
-                        sandesha2_create_seq_res_msg_processor_free;
+    msg_proc_impl->msg_processor.ops->free = sandesha2_create_seq_res_msg_processor_free;
                         
 	return &(msg_proc_impl->msg_processor);
 }
@@ -242,12 +240,16 @@
         return AXIS2_FAILURE;
     }
 
-    internal_sequence_id = sandesha2_create_seq_bean_get_internal_sequence_id(create_seq_bean, env);
+    internal_sequence_id = axutil_strdup(env, sandesha2_create_seq_bean_get_internal_sequence_id(
+            create_seq_bean, env));
+
     if(!internal_sequence_id)
     {
         AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Internal sequence id is not set");
         AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_CANNOT_FIND_SEQ_ID, AXIS2_FAILURE);
 
+        sandesha2_create_seq_bean_free(create_seq_bean, env);
+
         if(seq_prop_mgr)
         {
             sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
@@ -270,15 +272,24 @@
 
     sandesha2_create_seq_bean_set_rms_sequence_id(create_seq_bean, env, rms_sequence_id);
     sandesha2_create_seq_mgr_update(create_seq_mgr, env, create_seq_bean);
+    sandesha2_create_seq_bean_free(create_seq_bean, env);
     
     rms_sequence_bean = sandesha2_seq_property_bean_create_with_data(env, internal_sequence_id,
                         SANDESHA2_SEQUENCE_PROPERTY_RMS_SEQ_ID, rms_sequence_id);
-    
+    if(rms_sequence_bean)
+    {
+        sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, rms_sequence_bean);
+        sandesha2_seq_property_bean_free(rms_sequence_bean, env);
+    }
+
     rms_internal_sequence_bean = sandesha2_seq_property_bean_create_with_data(env, rms_sequence_id, 
             SANDESHA2_SEQUENCE_PROPERTY_RMS_INTERNAL_SEQ_ID, internal_sequence_id);
+    if(rms_internal_sequence_bean)
+    {
+        sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, rms_internal_sequence_bean);
+        sandesha2_seq_property_bean_free(rms_internal_sequence_bean, env);
+    }
 
-    sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, rms_sequence_bean);
-    sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, rms_internal_sequence_bean);
     accept = sandesha2_create_seq_res_get_accept(csr_part, env);
 
     if(accept)
@@ -312,6 +323,11 @@
             AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
                 "[sandesha2] No offered sequence entry. But an accept was received");
 
+            if(internal_sequence_id)
+            {
+                AXIS2_FREE(env->allocator, internal_sequence_id);
+            }
+
             if(seq_prop_mgr)
             {
                 sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
@@ -336,7 +352,11 @@
             return AXIS2_FAILURE;
         }
 
-        rmd_sequence_id = sandesha2_seq_property_bean_get_value(offerd_seq_bean, env);
+        rmd_sequence_id = axutil_strdup(env, sandesha2_seq_property_bean_get_value(offerd_seq_bean, 
+            env));
+
+        sandesha2_seq_property_bean_free(offerd_seq_bean, env);
+
         special_int_seq_bean = sandesha2_seq_property_bean_create_with_data(env, rmd_sequence_id, 
                 SANDESHA2_SEQ_PROP_SPECIAL_INTERNAL_SEQ_ID, internal_sequence_id);
 
@@ -350,22 +370,21 @@
                     sandesha2_accept_get_acks_to(accept, env), env), env);
 
         acks_to_bean = sandesha2_seq_property_bean_create(env);
-        sandesha2_seq_property_bean_set_name(acks_to_bean, env, SANDESHA2_SEQ_PROP_ACKS_TO_EPR);
-        sandesha2_seq_property_bean_set_seq_id(acks_to_bean, env, rmd_sequence_id);
-
-        if (acks_to_epr)
+        if(acks_to_bean)
         {
-            sandesha2_seq_property_bean_set_value(acks_to_bean, env, 
+            sandesha2_seq_property_bean_set_name(acks_to_bean, env, SANDESHA2_SEQ_PROP_ACKS_TO_EPR);
+            sandesha2_seq_property_bean_set_seq_id(acks_to_bean, env, rmd_sequence_id);
+
+            if (acks_to_epr)
+            {
+                sandesha2_seq_property_bean_set_value(acks_to_bean, env, 
                     (axis2_char_t*)axis2_endpoint_ref_get_address(acks_to_epr, env));
-        }
+            }
 
-        sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, acks_to_bean);
-        
-        next_bean = sandesha2_next_msg_bean_create(env);
-        sandesha2_next_msg_bean_set_seq_id(next_bean, env, rmd_sequence_id);
-        sandesha2_next_msg_bean_set_internal_seq_id(next_bean, env, internal_sequence_id);
-        sandesha2_next_msg_bean_set_next_msg_no_to_process(next_bean, env, 1);
-        
+            sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, acks_to_bean);
+            sandesha2_seq_property_bean_free(acks_to_bean, env);
+        }
+ 
         rm_spec_ver = sandesha2_msg_ctx_get_rm_spec_ver(rm_msg_ctx, env);
 
         if(!axutil_strcmp(SANDESHA2_SPEC_VERSION_1_1, rm_spec_ver))
@@ -390,6 +409,16 @@
         {
             AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2]create_seq_rm_msg is NULL");
 
+            if(rmd_sequence_id)
+            {
+                AXIS2_FREE(env->allocator, rmd_sequence_id);
+            }
+
+            if(internal_sequence_id)
+            {
+                AXIS2_FREE(env->allocator, internal_sequence_id);
+            }
+
             if(seq_prop_mgr)
             {
                 sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
@@ -435,6 +464,16 @@
         {
             AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] to_seq_bean is NULL");
 
+            if(rmd_sequence_id)
+            {
+                AXIS2_FREE(env->allocator, rmd_sequence_id);
+            }
+
+            if(internal_sequence_id)
+            {
+                AXIS2_FREE(env->allocator, internal_sequence_id);
+            }
+
             if(seq_prop_mgr)
             {
                 sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
@@ -478,6 +517,10 @@
             sandesha2_msg_ctx_free(create_seq_rm_msg, env);
         }
 
+        next_bean = sandesha2_next_msg_bean_create(env);
+        sandesha2_next_msg_bean_set_seq_id(next_bean, env, rmd_sequence_id);
+        sandesha2_next_msg_bean_set_internal_seq_id(next_bean, env, internal_sequence_id);
+        sandesha2_next_msg_bean_set_next_msg_no_to_process(next_bean, env, 1);
         sandesha2_next_msg_bean_set_ref_msg_key(next_bean, env, new_msg_store_key);
         sandesha2_next_msg_bean_set_polling_mode(next_bean, env, polling_mode);
         if(new_msg_store_key)
@@ -492,39 +535,52 @@
         }
 
         sandesha2_next_msg_mgr_insert(next_msg_mgr, env, next_bean);
+        sandesha2_next_msg_bean_free(next_bean, env);
         
         spec_ver_bean = sandesha2_seq_property_bean_create_with_data(env, rmd_sequence_id, 
                 SANDESHA2_SEQ_PROP_RM_SPEC_VERSION, rm_spec_ver);
 
-        sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, spec_ver_bean);
         if(spec_ver_bean)
         {
+            sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, spec_ver_bean);
             sandesha2_seq_property_bean_free(spec_ver_bean, env);
         }
         
         rcvd_msg_bean = sandesha2_seq_property_bean_create_with_data(env, rmd_sequence_id, 
                 SANDESHA2_SEQ_PROP_SERVER_COMPLETED_MESSAGES, "");
 
-        sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, rcvd_msg_bean);
         if(rcvd_msg_bean)
         {
+            sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, rcvd_msg_bean);
             sandesha2_seq_property_bean_free(rcvd_msg_bean, env);
         }
         
         msgs_bean = sandesha2_seq_property_bean_create_with_data(env, rmd_sequence_id, 
                 SANDESHA2_SEQ_PROP_CLIENT_COMPLETED_MESSAGES, "");
-
-        sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, msgs_bean);
+        if(msgs_bean)
+        {
+            sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, msgs_bean);
+            sandesha2_seq_property_bean_free(msgs_bean, env);
+        }
         
         addr_ns_val = sandesha2_msg_ctx_get_addr_ns_val(rm_msg_ctx, env);
         addr_ver_bean = sandesha2_seq_property_bean_create_with_data(env, rmd_sequence_id, 
                 SANDESHA2_SEQ_PROP_ADDRESSING_NAMESPACE_VALUE, addr_ns_val);
-        sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, addr_ver_bean);
+        if(addr_ver_bean)
+        {
+            sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, addr_ver_bean);
+            sandesha2_seq_property_bean_free(addr_ver_bean, env);
+        }
 
         if(next_msg_mgr)
         {
             sandesha2_next_msg_mgr_free(next_msg_mgr, env);
         }
+
+        if(rmd_sequence_id)
+        {
+            AXIS2_FREE(env->allocator, rmd_sequence_id);
+        }
     } /* End of if accept block */
 
     sandesha2_seq_mgr_update_last_activated_time(env, internal_sequence_id, seq_prop_mgr);
@@ -534,18 +590,26 @@
     /* Pausing the flow here so that it won't go to a message receiver which is not set for this flow */
     sandesha2_msg_ctx_set_paused(rm_msg_ctx, env, AXIS2_TRUE);
 
+    if(internal_sequence_id)
+    {
+        AXIS2_FREE(env->allocator, internal_sequence_id);
+    }
+
     if(seq_prop_mgr)
     {
         sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
     }
+
     if(create_seq_mgr)
     {
         sandesha2_create_seq_mgr_free(create_seq_mgr, env);
     }
+
     if(sender_mgr)
     {
         sandesha2_sender_mgr_free(sender_mgr, env);
     }
+
     if(storage_mgr)
     {
         sandesha2_storage_mgr_free(storage_mgr, env);

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/beans/create_seq_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/beans/create_seq_bean.c?rev=681288&r1=681287&r2=681288&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/beans/create_seq_bean.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/beans/create_seq_bean.c Thu Jul 31 00:33:04 2008
@@ -91,9 +91,9 @@
 	}
 
 	/* init the properties. */
-	create_seq_bean->internal_seq_id = internal_seq_id;
-	create_seq_bean->create_seq_msg_id = create_seq_msg_id;
-	create_seq_bean->seq_id = seq_id;
+	create_seq_bean->internal_seq_id = axutil_strdup(env, internal_seq_id);
+	create_seq_bean->create_seq_msg_id = axutil_strdup(env, create_seq_msg_id);
+	create_seq_bean->seq_id = axutil_strdup(env, seq_id);
     create_seq_bean->create_seq_msg_store_key = NULL;
     create_seq_bean->ref_msg_store_key = NULL;
 
@@ -120,7 +120,7 @@
 	if(create_seq_bean->seq_id)
 	{
 		AXIS2_FREE(env->allocator, create_seq_bean->seq_id);
-		create_seq_bean->seq_id= NULL;
+		create_seq_bean->seq_id = NULL;
 	}
 	if(create_seq_bean->create_seq_msg_store_key)
 	{
@@ -155,6 +155,11 @@
     axis2_char_t* seq_msg_id)
 
 {
+    if(create_seq_bean->create_seq_msg_id)
+    {
+        AXIS2_FREE(env->allocator, create_seq_bean->create_seq_msg_id);
+    }
+
 	create_seq_bean->create_seq_msg_id = axutil_strdup(env, seq_msg_id);
 }
 
@@ -169,8 +174,14 @@
 void AXIS2_CALL
 sandesha2_create_seq_bean_set_rms_sequence_id(
     sandesha2_create_seq_bean_t *create_seq_bean,
-	const axutil_env_t *env, axis2_char_t *seq_id)
+	const axutil_env_t *env, 
+    axis2_char_t *seq_id)
 {
+    if(create_seq_bean->seq_id)
+    {
+        AXIS2_FREE(env->allocator, create_seq_bean->seq_id);
+    }
+
 	create_seq_bean->seq_id = axutil_strdup(env, seq_id);
 }
 
@@ -187,6 +198,11 @@
     sandesha2_create_seq_bean_t *create_seq_bean,
 	const axutil_env_t *env, axis2_char_t *int_seq_id)
 {
+    if(create_seq_bean->internal_seq_id)
+    {
+        AXIS2_FREE(env->allocator, create_seq_bean->internal_seq_id);
+    }
+
 	create_seq_bean->internal_seq_id = axutil_strdup(env, int_seq_id);
 }
 
@@ -203,8 +219,12 @@
     sandesha2_create_seq_bean_t *create_seq_bean,
 	const axutil_env_t *env, axis2_char_t *create_seq_msg_store_key)
 {
-    create_seq_bean->create_seq_msg_store_key = axutil_strdup(
-        env, create_seq_msg_store_key);
+    if(create_seq_bean->create_seq_msg_store_key)
+    {
+        AXIS2_FREE(env->allocator, create_seq_bean->create_seq_msg_store_key);
+    }
+
+    create_seq_bean->create_seq_msg_store_key = axutil_strdup(env, create_seq_msg_store_key);
 }
 
 axis2_char_t * AXIS2_CALL
@@ -220,6 +240,11 @@
     sandesha2_create_seq_bean_t *create_seq_bean,
 	const axutil_env_t *env, axis2_char_t *ref_msg_store_key)
 {
+    if(create_seq_bean->ref_msg_store_key)
+    {
+        AXIS2_FREE(env->allocator, create_seq_bean->ref_msg_store_key);
+    }
+
     create_seq_bean->ref_msg_store_key = axutil_strdup(env, ref_msg_store_key);
 }
 

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_create_seq_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_create_seq_mgr.c?rev=681288&r1=681287&r2=681288&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_create_seq_mgr.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/storage/sqlite/permanent_create_seq_mgr.c Thu Jul 31 00:33:04 2008
@@ -108,8 +108,11 @@
     }
     for(i = 0; i < argc; i++)
     {
-        if(0 == axutil_strcmp(col_name[i], "create_seq_msg_id"))
+        if(!axutil_strcmp(col_name[i], "create_seq_msg_id"))
+        {
             sandesha2_create_seq_bean_set_create_seq_msg_id(bean, env, argv[i]);
+        }
+
         if(!axutil_strcmp(col_name[i], "internal_seq_id"))
         {
             if(argv[i])
@@ -117,16 +120,27 @@
                 sandesha2_create_seq_bean_set_internal_sequence_id(bean, env, argv[i]);
             }
         }
-        if(0 == axutil_strcmp(col_name[i], "seq_id"))
+        if(!axutil_strcmp(col_name[i], "seq_id"))
+        {
             if(argv[i])
+            {
                 sandesha2_create_seq_bean_set_rms_sequence_id(bean, env, argv[i]);
-        if(0 == axutil_strcmp(col_name[i], "create_seq_msg_store_key"))
+            }
+        }
+        if(!axutil_strcmp(col_name[i], "create_seq_msg_store_key"))
+        {
             if(argv[i])
-                sandesha2_create_seq_bean_set_create_seq_msg_store_key(bean, env, 
-                argv[i]);
-        if(0 == axutil_strcmp(col_name[i], "ref_msg_store_key"))
+            {
+                sandesha2_create_seq_bean_set_create_seq_msg_store_key(bean, env, argv[i]);
+            }
+        }
+        if(!axutil_strcmp(col_name[i], "ref_msg_store_key"))
+        {
             if(argv[i])
+            {
                 sandesha2_create_seq_bean_set_ref_msg_store_key(bean, env, argv[i]);
+            }
+        }
     }
     return 0;
 }

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/msg_creator.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/msg_creator.c?rev=681288&r1=681287&r2=681288&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/msg_creator.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/util/msg_creator.c Thu Jul 31 00:33:04 2008
@@ -270,21 +270,6 @@
     sandesha2_msg_ctx_add_soap_envelope(create_seq_rm_msg, env);
     temp_action = sandesha2_spec_specific_consts_get_create_seq_action(env, rm_version);
 
-    if(acks_to_epr)
-    {
-        axis2_endpoint_ref_free(acks_to_epr, env);
-    }
-
-    if(temp_address)
-    {
-        sandesha2_address_free(temp_address, env);
-    }
-
-    if(temp_acks_to)
-    {
-        sandesha2_acks_to_free(temp_acks_to, env);
-    }
-
     if(rm_version)
     {
         AXIS2_FREE(env->allocator, rm_version);

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/accept.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/accept.c?rev=681288&r1=681287&r2=681288&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/accept.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/accept.c Thu Jul 31 00:33:04 2008
@@ -74,18 +74,26 @@
     sandesha2_accept_t *accept, 
     const axutil_env_t *env)
 {
-    if(NULL != accept->addr_ns_val)
+    if(accept->addr_ns_val)
     {
         AXIS2_FREE(env->allocator, accept->addr_ns_val);
         accept->addr_ns_val = NULL;
     }
-    if(NULL != accept->rm_ns_val)
+
+    if(accept->rm_ns_val)
     {
         AXIS2_FREE(env->allocator, accept->rm_ns_val);
         accept->rm_ns_val = NULL;
     }
+    
+    if(accept->acks_to)
+    {
+        sandesha2_acks_to_free(accept->acks_to, env);
+        accept->acks_to = NULL;
+    }
         
 	AXIS2_FREE(env->allocator, accept);
+
 	return AXIS2_SUCCESS;
 }
 
@@ -192,7 +200,12 @@
     const axutil_env_t *env, 
     sandesha2_acks_to_t *acks_to)
 {
-    /* TODO free old acks_to ?*/
+    if(accept->acks_to)
+    {
+        sandesha2_acks_to_free(accept->acks_to, env);
+        accept->acks_to = NULL;
+    }
+
     accept->acks_to = acks_to;
     return AXIS2_SUCCESS;
 }

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/acks_to.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/acks_to.c?rev=681288&r1=681287&r2=681288&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/acks_to.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/acks_to.c Thu Jul 31 00:33:04 2008
@@ -83,7 +83,11 @@
         AXIS2_FREE(env->allocator, acks_to->rm_ns_val);
         acks_to->rm_ns_val = NULL;
     }
-    acks_to->address = NULL;
+    if(acks_to->address)
+    {
+        sandesha2_address_free(acks_to->address, env);
+        acks_to->address = NULL;
+    }
     
 	AXIS2_FREE(env->allocator, acks_to);
 	return AXIS2_SUCCESS;
@@ -159,21 +163,19 @@
     
     AXIS2_PARAM_CHECK(env->error, om_node, NULL);
     
-    if(NULL == acks_to->address)
+    if(!acks_to->address)
     {
-        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT, 
-            AXIS2_FAILURE);
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT, AXIS2_FAILURE);
         return NULL;
     }
-    rm_ns = axiom_namespace_create(env, acks_to->rm_ns_val,
-        SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
-    if(NULL == rm_ns)
+    rm_ns = axiom_namespace_create(env, acks_to->rm_ns_val, SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
+    if(!rm_ns)
     {
         return NULL;
     }
-    at_element = axiom_element_create(env, NULL, 
-        SANDESHA2_WSRM_COMMON_ACKS_TO, rm_ns, &at_node);
-    if(NULL == at_element)
+
+    at_element = axiom_element_create(env, NULL, SANDESHA2_WSRM_COMMON_ACKS_TO, rm_ns, &at_node);
+    if(!at_element)
     {
         return NULL;
     }
@@ -196,7 +198,14 @@
 	const axutil_env_t *env, 
     sandesha2_address_t *address) 
 {
+    if(acks_to->address)
+    {
+        sandesha2_address_free(acks_to->address, env);
+        acks_to->address = NULL;
+    }
+
 	acks_to->address = address;
+
     return AXIS2_SUCCESS;
 }
     

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/address.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/address.c?rev=681288&r1=681287&r2=681288&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/address.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/address.c Thu Jul 31 00:33:04 2008
@@ -68,7 +68,13 @@
         AXIS2_FREE(env->allocator, address->ns_val);
         address->ns_val = NULL;
     }
-    address->epr = NULL;
+    
+    if(address->epr)
+    {
+        axis2_endpoint_ref_free(address->epr, env);
+        address->epr = NULL;
+    }
+
 	AXIS2_FREE(env->allocator, address);
 	return AXIS2_SUCCESS;
 }
@@ -186,6 +192,13 @@
     axis2_endpoint_ref_t *epr)
 {
     AXIS2_PARAM_CHECK(env->error, epr, AXIS2_FAILURE);
+    
+    if(address->epr)
+    {
+        axis2_endpoint_ref_free(address->epr, env);
+        address->epr = NULL;
+    }
+
 	address->epr = epr;
     return AXIS2_SUCCESS;
 }

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/create_seq.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/create_seq.c?rev=681288&r1=681287&r2=681288&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/create_seq.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/create_seq.c Thu Jul 31 00:33:04 2008
@@ -98,7 +98,13 @@
         AXIS2_FREE(env->allocator, create_seq->addr_ns_val);
         create_seq->addr_ns_val = NULL;
     }
-    create_seq->acks_to = NULL;
+
+ 	if(create_seq->acks_to)
+	{
+		sandesha2_acks_to_free(create_seq->acks_to, env);
+		create_seq->acks_to = NULL;
+	}
+
     create_seq->expires = NULL;
 
     if(create_seq->seq_offer)

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/create_seq_res.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/create_seq_res.c?rev=681288&r1=681287&r2=681288&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/create_seq_res.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/create_seq_res.c Thu Jul 31 00:33:04 2008
@@ -99,6 +99,25 @@
         AXIS2_FREE(env->allocator, create_seq_res->rm_ns_val);
         create_seq_res->rm_ns_val = NULL;
     }
+    
+    if(create_seq_res->identifier)
+    {
+        sandesha2_identifier_free(create_seq_res->identifier, env);
+        create_seq_res->identifier = NULL;
+    }
+
+    if(create_seq_res->accept)
+    {
+        sandesha2_accept_free(create_seq_res->accept, env);
+        create_seq_res->accept = NULL;
+    }
+
+    if(create_seq_res->expires)
+    {
+        sandesha2_expires_free(create_seq_res->expires, env);
+        create_seq_res->expires = NULL;
+    }
+
 	AXIS2_FREE(env->allocator, create_seq_res);
 	return AXIS2_SUCCESS;
 }
@@ -131,12 +150,10 @@
     csr_part =axiom_node_get_data_element(csr_node, env);
     if(!csr_part)
     {
-        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT,
-            AXIS2_FAILURE);
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT, AXIS2_FAILURE);
         return NULL;
     }
-    create_seq_res->identifier = sandesha2_identifier_create(env, 
-        create_seq_res->rm_ns_val);
+    create_seq_res->identifier = sandesha2_identifier_create(env, create_seq_res->rm_ns_val);
     if(!create_seq_res->identifier)
     {
         return NULL;
@@ -234,6 +251,7 @@
     {
         sandesha2_expires_to_om_node(create_seq_res->expires, env, csr_node);
     }
+
     axiom_node_add_child((axiom_node_t*)om_node, env, csr_node);
     return (axiom_node_t*)om_node;
 }
@@ -244,6 +262,12 @@
     const axutil_env_t *env, 
     sandesha2_identifier_t *identifier)
 {
+    if(create_seq_res->identifier)
+    {
+        sandesha2_identifier_free(create_seq_res->identifier, env);
+        create_seq_res->identifier = NULL;
+    }
+
     create_seq_res->identifier = identifier;
     return AXIS2_SUCCESS;
 }
@@ -262,6 +286,12 @@
     sandesha2_create_seq_res_t *create_seq_res,
     const axutil_env_t *env, sandesha2_accept_t *accept)
 {
+    if(create_seq_res->accept)
+    {
+        sandesha2_accept_free(create_seq_res->accept, env);
+        create_seq_res->accept = NULL;
+    }
+    
     create_seq_res->accept = accept;
     return AXIS2_SUCCESS;
 }
@@ -280,6 +310,12 @@
     sandesha2_create_seq_res_t *create_seq_res,
     const axutil_env_t *env, sandesha2_expires_t *expires)
 {
+    if(create_seq_res->expires)
+    {
+        sandesha2_expires_free(create_seq_res->expires, env);
+        create_seq_res->expires = NULL;
+    }
+
     create_seq_res->expires = expires;
     return AXIS2_SUCCESS;
 }

Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/sequence.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/sequence.c?rev=681288&r1=681287&r2=681288&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/sequence.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-23may2008/src/wsrm/sequence.c Thu Jul 31 00:33:04 2008
@@ -309,11 +309,12 @@
     }
     axiom_soap_header_remove_header_block(soap_header, env, seq_qname);
 
-    sandesha2_seq_to_om_node((sandesha2_seq_t*)seq, env, soap_header);
     if(seq_qname)
     {
         axutil_qname_free(seq_qname, env);
     }
+    
+    sandesha2_seq_to_om_node((sandesha2_seq_t*)seq, env, soap_header);
 
 	return AXIS2_SUCCESS;
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org