You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ma...@apache.org on 2007/06/08 06:21:33 UTC

svn commit: r545401 - in /webservices/axis2/trunk/c/neethi: include/ src/ src/secpolicy/builder/

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: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org