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/21 07:20:01 UTC
svn commit: r387436 - in /webservices/axis2/trunk/c/modules/core:
addr/endpoint_ref.c transport/http/http_request_line.c
transport/http/http_transport_utils.c transport/http/http_worker.c
transport/http/sender/soap_over_http_sender.c
Author: sahan
Date: Mon Mar 20 22:19:57 2006
New Revision: 387436
URL: http://svn.apache.org/viewcvs?rev=387436&view=rev
Log:
Memory leak fixes, Fix for the break in google client, Cleanups for AXIS2C-52
Modified:
webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c
webservices/axis2/trunk/c/modules/core/transport/http/http_request_line.c
webservices/axis2/trunk/c/modules/core/transport/http/http_transport_utils.c
webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c
webservices/axis2/trunk/c/modules/core/transport/http/sender/soap_over_http_sender.c
Modified: webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c?rev=387436&r1=387435&r2=387436&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c (original)
+++ webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c Mon Mar 20 22:19:57 2006
@@ -158,7 +158,13 @@
axis2_env_t **env, axis2_char_t *address)
{
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_INTF_TO_IMPL(endpoint_ref)->address = address;
+ if(NULL != AXIS2_INTF_TO_IMPL(endpoint_ref)->address)
+ {
+ AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(endpoint_ref)->address);
+ AXIS2_INTF_TO_IMPL(endpoint_ref)->address = NULL;
+ }
+
+ AXIS2_INTF_TO_IMPL(endpoint_ref)->address = AXIS2_STRDUP(address, env);
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/modules/core/transport/http/http_request_line.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/http_request_line.c?rev=387436&r1=387435&r2=387436&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/http_request_line.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/http_request_line.c Mon Mar 20 22:19:57 2006
@@ -260,7 +260,15 @@
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
- sprintf(ret, "%s /%s %s%s", req_line_impl->method, req_line_impl->uri,
+ if(req_line_impl->uri[0] != '/')
+ {
+ sprintf(ret, "%s /%s %s%s", req_line_impl->method, req_line_impl->uri,
req_line_impl->http_version, AXIS2_HTTP_CRLF);
+ }
+ else
+ {
+ sprintf(ret, "%s %s %s%s", req_line_impl->method, req_line_impl->uri,
+ req_line_impl->http_version, AXIS2_HTTP_CRLF);
+ }
return ret;
}
Modified: webservices/axis2/trunk/c/modules/core/transport/http/http_transport_utils.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/http_transport_utils.c?rev=387436&r1=387435&r2=387436&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/http_transport_utils.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/http_transport_utils.c Mon Mar 20 22:19:57 2006
@@ -196,6 +196,7 @@
AXIS2_MSG_CTX_SET_SERVER_SIDE(msg_ctx, env, AXIS2_TRUE);
char_set = axis2_http_transport_utils_get_charset_enc(env,content_type);
+ AXIS2_FREE((*env)->allocator, content_type);
xml_reader = axis2_xml_reader_create_for_memory(env,
axis2_http_transport_utils_on_data_request,NULL,
(void *)&callback_ctx, char_set);
@@ -772,6 +773,7 @@
tmp = strstr(tmp_content_type, AXIS2_HTTP_CHAR_SET_ENCODING);
if(NULL == tmp)
{
+ AXIS2_FREE((*env)->allocator, tmp_content_type);
return AXIS2_STRDUP(AXIS2_HTTP_HEADER_DEFAULT_CHAR_ENCODING, env);
}
tmp = strchr(tmp, '=');
@@ -782,6 +784,7 @@
}
if(NULL == tmp)
{
+ AXIS2_FREE((*env)->allocator, tmp_content_type);
return AXIS2_STRDUP(AXIS2_HTTP_HEADER_DEFAULT_CHAR_ENCODING, env);
}
tmp2 = AXIS2_STRDUP(tmp, env);
Modified: webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c?rev=387436&r1=387435&r2=387436&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c Mon Mar 20 22:19:57 2006
@@ -161,6 +161,7 @@
axis2_property_t *property = NULL;
axis2_char_t *url_external_form = NULL;
axis2_qname_t *tmp_qname = NULL;
+ axis2_char_t *svc_grp_uuid = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, svr_conn, AXIS2_FAILURE);
@@ -258,7 +259,13 @@
AXIS2_MSG_CTX_SET_PROPERTY(msg_ctx, env, AXIS2_TRANSPORT_HEADERS, property,
AXIS2_FALSE);
- AXIS2_MSG_CTX_SET_SVC_GRP_CTX_ID(msg_ctx, env, axis2_uuid_gen(env));
+ svc_grp_uuid = axis2_uuid_gen(env);
+ AXIS2_MSG_CTX_SET_SVC_GRP_CTX_ID(msg_ctx, env, svc_grp_uuid);
+ if(NULL != svc_grp_uuid)
+ {
+ AXIS2_FREE((*env)->allocator, svc_grp_uuid);
+ svc_grp_uuid = NULL;
+ }
property = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
Modified: webservices/axis2/trunk/c/modules/core/transport/http/sender/soap_over_http_sender.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/sender/soap_over_http_sender.c?rev=387436&r1=387435&r2=387436&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/sender/soap_over_http_sender.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/sender/soap_over_http_sender.c Mon Mar 20 22:19:57 2006
@@ -467,20 +467,31 @@
axis2_char_t *connection_str = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ axis2_param_t *tmp_param = NULL;
- so_str = (axis2_char_t*)AXIS2_MSG_CTX_GET_PARAMETER(msg_ctx,
+
+ tmp_param = AXIS2_MSG_CTX_GET_PARAMETER(msg_ctx,
env, AXIS2_HTTP_SO_TIMEOUT);
- connection_str = (axis2_char_t*)AXIS2_MSG_CTX_GET_PARAMETER(msg_ctx,
- env, AXIS2_HTTP_CONNECTION_TIMEOUT);
- if(NULL != so_str)
- {
- AXIS2_INTF_TO_IMPL(sender)->so_timeout = AXIS2_ATOI(so_str);
- }
- if(NULL != connection_str)
- {
- AXIS2_INTF_TO_IMPL(sender)->connection_timeout = AXIS2_ATOI(connection_str);
- }
-
+
+ if(NULL != tmp_param)
+ {
+ so_str = (axis2_char_t*)AXIS2_PARAM_GET_VALUE(tmp_param, env);
+ if(NULL != so_str)
+ {
+ AXIS2_INTF_TO_IMPL(sender)->so_timeout = AXIS2_ATOI(so_str);
+ }
+ }
+ tmp_param = AXIS2_MSG_CTX_GET_PARAMETER(msg_ctx, env,
+ AXIS2_HTTP_CONNECTION_TIMEOUT);
+ if(NULL != tmp_param)
+ {
+ connection_str = (axis2_char_t*)AXIS2_PARAM_GET_VALUE(tmp_param, env);
+ if(NULL != connection_str)
+ {
+ AXIS2_INTF_TO_IMPL(sender)->connection_timeout =
+ AXIS2_ATOI(connection_str);
+ }
+ }
return AXIS2_SUCCESS;
}