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 da...@apache.org on 2006/02/28 08:32:36 UTC

svn commit: r381585 - in /webservices/axis2/trunk/c/modules: core/deployment/conf_builder.c core/description/dll_desc.c util/string.c

Author: damitha
Date: Mon Feb 27 23:32:34 2006
New Revision: 381585

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

Modified:
    webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c
    webservices/axis2/trunk/c/modules/core/description/dll_desc.c
    webservices/axis2/trunk/c/modules/util/string.c

Modified: webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c?rev=381585&r1=381584&r2=381585&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c Mon Feb 27 23:32:34 2006
@@ -397,6 +397,7 @@
         axis2_disp_t *disp_dll = NULL;
         axis2_dll_desc_t *dll_desc = NULL;
         axis2_param_t *impl_info_param = NULL;
+        axis2_handler_desc_t *handler_desc = NULL;
         axis2_handler_t *handler = NULL;
         
         found_disp = AXIS2_TRUE;
@@ -420,19 +421,21 @@
          * set full dll path here instead of dll lib name only */
         AXIS2_DLL_DESC_SET_NAME(dll_desc, env, dll_name);
         AXIS2_DLL_DESC_SET_TYPE(dll_desc, env, AXIS2_HANDLER_DLL);
-        impl_info_param = axis2_param_create(env, NULL, NULL);
+        impl_info_param = axis2_param_create(env, class_name, NULL);
         if(!impl_info_param)
         {
             AXIS2_PHASE_FREE(disp_phase, env);
             return AXIS2_FAILURE;
         }
         AXIS2_PARAM_SET_VALUE(impl_info_param, env, dll_desc); 
+        impl_info_param->ops->value_free = axis2_dll_desc_free_void_arg;
         axis2_class_loader_init(env);
         disp_dll = (axis2_disp_t *) axis2_class_loader_create_dll(env, 
             impl_info_param);
-        AXIS2_PARAM_FREE(impl_info_param, env);
         
         handler = AXIS2_DISP_GET_BASE(disp_dll, env);
+        handler_desc = AXIS2_HANDLER_GET_HANDLER_DESC(handler, env);
+        AXIS2_HANDLER_DESC_SET_PARAM(handler_desc, env, impl_info_param);
         
         /*disptachClas.getHandlerDesc().setParent(axisConfiguration); */
         AXIS2_PHASE_ADD_HANDLER_AT(disp_phase, env, count, handler);

Modified: webservices/axis2/trunk/c/modules/core/description/dll_desc.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/dll_desc.c?rev=381585&r1=381584&r2=381585&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/dll_desc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/dll_desc.c Mon Feb 27 23:32:34 2006
@@ -235,8 +235,7 @@
     axis2_dll_desc_impl_t *dll_desc_impl = NULL;
     
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-    AXIS2_PARAM_CHECK((*env)->error, name, AXIS2_FAILURE);
-    
+    AXIS2_PARAM_CHECK((*env)->error, name, AXIS2_FAILURE); 
     dll_desc_impl = AXIS2_INTF_TO_IMPL(dll_desc);
     
     if(dll_desc_impl->path_qualified_dll_name)

Modified: webservices/axis2/trunk/c/modules/util/string.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/util/string.c?rev=381585&r1=381584&r2=381585&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/util/string.c (original)
+++ webservices/axis2/trunk/c/modules/util/string.c Mon Feb 27 23:32:34 2006
@@ -28,7 +28,8 @@
     if (ptr)
     {
         int len = strlen(ptr);
-        char* str = (char*) AXIS2_MALLOC( (*env)->allocator, sizeof(char) * (len + 1 ));
+        axis2_char_t * str = (axis2_char_t *) AXIS2_MALLOC( (*env)->allocator, 
+            sizeof(axis2_char_t) * (len + 1 ));
         if (!str)
         {
             AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);