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]