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