Author: manjula Date: Thu Jun 7 21:21:32 2007 New Revision: 545401 URL: http://svn.apache.org/viewvc?view=rev&rev=545401 Log: Fixing memory leaks.
Modified: webservices/axis2/trunk/c/neethi/include/neethi_exactlyone.h webservices/axis2/trunk/c/neethi/src/engine.c webservices/axis2/trunk/c/neethi/src/exactlyone.c webservices/axis2/trunk/c/neethi/src/secpolicy/builder/asymmetric_binding_builder.c webservices/axis2/trunk/c/neethi/src/secpolicy/builder/initiator_token_builder.c webservices/axis2/trunk/c/neethi/src/secpolicy/builder/recipient_token_builder.c webservices/axis2/trunk/c/neethi/src/secpolicy/builder/x509_token_builder.c Modified: webservices/axis2/trunk/c/neethi/include/neethi_exactlyone.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/neethi_exactlyone.h?view=diff&rev=545401&r1=545400&r2=545401 ============================================================================== --- webservices/axis2/trunk/c/neethi/include/neethi_exactlyone.h (original) +++ webservices/axis2/trunk/c/neethi/include/neethi_exactlyone.h Thu Jun 7 21:21:32 2007 @@ -69,6 +69,11 @@ axiom_node_t *parent, const axutil_env_t *env); + AXIS2_EXTERN axis2_status_t AXIS2_CALL + neethi_exactlyone_set_components_null( + neethi_exactlyone_t *exactlyone, + const axutil_env_t *env); + /** @} */ Modified: webservices/axis2/trunk/c/neethi/src/engine.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/engine.c?view=diff&rev=545401&r1=545400&r2=545401 ============================================================================== --- webservices/axis2/trunk/c/neethi/src/engine.c (original) +++ webservices/axis2/trunk/c/neethi/src/engine.c Thu Jun 7 21:21:32 2007 @@ -791,6 +791,8 @@ neethi_exactlyone_get_policy_components(inner_exactlyone,env),env); } + /*axutil_array_list_free(normalized_inner_components, env); + normalized_inner_components = NULL;*/ } else if(type == OPERATOR_TYPE_POLICY || type == OPERATOR_TYPE_ALL) @@ -812,13 +814,29 @@ break; } else + { + neethi_exactlyone_t *old_exactlyone = NULL; + old_exactlyone = exactlyone; exactlyone = get_cross_product(exactlyone,current_exactlyone,env); + neethi_exactlyone_set_components_null(old_exactlyone, env); + neethi_exactlyone_free(old_exactlyone, env); + old_exactlyone = NULL; + } } } } else - exactlyone = (neethi_exactlyone_t *)axutil_array_list_get(normalized_inner_components,env,0); + { + neethi_exactlyone_t *temp = NULL; + temp = exactlyone; + exactlyone = (neethi_exactlyone_t *)axutil_array_list_get(normalized_inner_components,env,0); + /*neethi_exactlyone_set_components_null(temp, env);*/ + neethi_exactlyone_free(temp, env); + temp = NULL; + } } + axutil_array_list_free(normalized_inner_components, env); + normalized_inner_components = NULL; return exactlyone; } Modified: webservices/axis2/trunk/c/neethi/src/exactlyone.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/exactlyone.c?view=diff&rev=545401&r1=545400&r2=545401 ============================================================================== --- webservices/axis2/trunk/c/neethi/src/exactlyone.c (original) +++ webservices/axis2/trunk/c/neethi/src/exactlyone.c Thu Jun 7 21:21:32 2007 @@ -186,3 +186,13 @@ } return status; } + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +neethi_exactlyone_set_components_null( + neethi_exactlyone_t *exactlyone, + const axutil_env_t *env) +{ + exactlyone->policy_components = NULL; + return AXIS2_SUCCESS; +} + Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/builder/asymmetric_binding_builder.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/builder/asymmetric_binding_builder.c?view=diff&rev=545401&r1=545400&r2=545401 ============================================================================== --- webservices/axis2/trunk/c/neethi/src/secpolicy/builder/asymmetric_binding_builder.c (original) +++ webservices/axis2/trunk/c/neethi/src/secpolicy/builder/asymmetric_binding_builder.c Thu Jun 7 21:21:32 2007 @@ -75,6 +75,10 @@ /*assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, asymmetric_binding, ASSERTION_TYPE_ASSYMMETRIC_BINDING);*/ + neethi_policy_set_components_null(normalized_policy, env); + neethi_policy_free(normalized_policy, env); + normalized_policy = NULL; + assertion = neethi_assertion_create_with_args(env, (void *)rp_asymmetric_binding_free, asymmetric_binding, ASSERTION_TYPE_ASSYMMETRIC_BINDING); /*neethi_policy_free(policy, env); policy = NULL;*/ Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/builder/initiator_token_builder.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/builder/initiator_token_builder.c?view=diff&rev=545401&r1=545400&r2=545401 ============================================================================== --- webservices/axis2/trunk/c/neethi/src/secpolicy/builder/initiator_token_builder.c (original) +++ webservices/axis2/trunk/c/neethi/src/secpolicy/builder/initiator_token_builder.c Thu Jun 7 21:21:32 2007 @@ -50,6 +50,7 @@ neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; + axutil_array_list_t *temp = NULL; initiator_token = rp_property_create(env); @@ -76,6 +77,13 @@ /*assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, initiator_token, ASSERTION_TYPE_INITIATOR_TOKEN);*/ + temp = neethi_policy_get_policy_components(normalized_policy, env); + axutil_array_list_free(temp, env); + temp = NULL; + neethi_policy_set_components_null(normalized_policy, env); + neethi_policy_free(normalized_policy, env); + normalized_policy = NULL; + assertion = neethi_assertion_create_with_args(env, (void *)rp_property_free, initiator_token, ASSERTION_TYPE_INITIATOR_TOKEN); return assertion; } Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/builder/recipient_token_builder.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/builder/recipient_token_builder.c?view=diff&rev=545401&r1=545400&r2=545401 ============================================================================== --- webservices/axis2/trunk/c/neethi/src/secpolicy/builder/recipient_token_builder.c (original) +++ webservices/axis2/trunk/c/neethi/src/secpolicy/builder/recipient_token_builder.c Thu Jun 7 21:21:32 2007 @@ -76,6 +76,10 @@ /*assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, recipient_token, ASSERTION_TYPE_RECIPIENT_TOKEN);*/ + neethi_policy_set_components_null(normalized_policy, env); + neethi_policy_free(normalized_policy, env); + normalized_policy = NULL; + assertion = neethi_assertion_create_with_args(env, (void *)rp_property_free, recipient_token, ASSERTION_TYPE_RECIPIENT_TOKEN); return assertion; } Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/builder/x509_token_builder.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/builder/x509_token_builder.c?view=diff&rev=545401&r1=545400&r2=545401 ============================================================================== --- webservices/axis2/trunk/c/neethi/src/secpolicy/builder/x509_token_builder.c (original) +++ webservices/axis2/trunk/c/neethi/src/secpolicy/builder/x509_token_builder.c Thu Jun 7 21:21:32 2007 @@ -85,6 +85,9 @@ /*assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, x509_token, ASSERTION_TYPE_X509_TOKEN);*/ + neethi_policy_free(normalized_policy, env); + normalized_policy = NULL; + assertion = neethi_assertion_create_with_args(env, (void *)rp_x509_token_free, x509_token, ASSERTION_TYPE_X509_TOKEN); return assertion; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]