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);