You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2006/03/24 11:24:33 UTC

svn commit: r388482 - in /webservices/axis2/trunk/c/modules: core/addr/msg_info_headers.c mod_addr/addr_out_handler.c

Author: sahan
Date: Fri Mar 24 02:24:27 2006
New Revision: 388482

URL: http://svn.apache.org/viewcvs?rev=388482&view=rev
Log:
More mem leak fixes

Modified:
    webservices/axis2/trunk/c/modules/core/addr/msg_info_headers.c
    webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c

Modified: webservices/axis2/trunk/c/modules/core/addr/msg_info_headers.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/addr/msg_info_headers.c?rev=388482&r1=388481&r2=388482&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/addr/msg_info_headers.c (original)
+++ webservices/axis2/trunk/c/modules/core/addr/msg_info_headers.c Fri Mar 24 02:24:27 2006
@@ -506,6 +506,11 @@
     
     msg_info_headers_impl = AXIS2_INTF_TO_IMPL(msg_info_headers);
     
+    if (msg_info_headers_impl->to)
+    {
+        AXIS2_ENDPOINT_REF_FREE(msg_info_headers_impl->to, env);
+        msg_info_headers_impl->to = NULL;
+    }
     if (msg_info_headers_impl->msg_info_headers.ops)
     {
         AXIS2_FREE((*env)->allocator, msg_info_headers_impl->msg_info_headers.ops);

Modified: webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c?rev=388482&r1=388481&r2=388482&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c (original)
+++ webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c Fri Mar 24 02:24:27 2006
@@ -390,6 +390,7 @@
             {
                 axis2_om_attribute_t *om_attr = NULL;
                 axis2_om_namespace_t *addr_ns_obj = NULL;
+                axis2_om_namespace_t *dec_ns = NULL;
                 addr_ns_obj =
                     axis2_om_namespace_create (env, addr_ns,
                                                AXIS2_WSA_DEFAULT_PREFIX);
@@ -397,11 +398,21 @@
                     (axis2_om_element_t *)
                     AXIS2_OM_NODE_GET_DATA_ELEMENT (relates_to_header_node,
                                                     env);
+                if(NULL != relates_to_header_ele)
+                {
+                    dec_ns = AXIS2_OM_ELEMENT_FIND_DECLARED_NAMESPACE(relates_to_header_ele, env,
+                                                 addr_ns, AXIS2_WSA_DEFAULT_PREFIX);
+                    if(!dec_ns)
+                    {
+                        AXIS2_OM_NAMESPACE_FREE(addr_ns_obj, env);
+                        addr_ns_obj = dec_ns;
+                    }
+                }
                 om_attr =
                     axis2_om_attribute_create (env,
-                                               AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE,
-                                               AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSION,
-                                               addr_ns_obj);
+                                       AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE,
+                                       AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSION,
+                                       addr_ns_obj);
                 AXIS2_OM_ELEMENT_ADD_ATTRIBUTE (relates_to_header_ele, env,
                                                 om_attr,
                                                 relates_to_header_node);