diff options
author | 2010-09-07 07:07:43 +0000 | |
---|---|---|
committer | 2010-09-07 07:07:43 +0000 | |
commit | f50ef01a9279bd00a5021e84ca44b59941ddf4ea (patch) | |
tree | ef5c445cf736716f791507f72df3b8785934bbae /src/core/transport/http/sender/http_sender.c | |
parent | ec135f9a64d6066a4f7870ec308de779a0da9256 (diff) | |
download | axis2c-f50ef01a9279bd00a5021e84ca44b59941ddf4ea.tar.gz axis2c-f50ef01a9279bd00a5021e84ca44b59941ddf4ea.tar.bz2 |
ssl memory issue fixed, patch 1237 applied
git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@993243 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/core/transport/http/sender/http_sender.c')
-rw-r--r-- | src/core/transport/http/sender/http_sender.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/core/transport/http/sender/http_sender.c b/src/core/transport/http/sender/http_sender.c index 093cfec..f899a9e 100644 --- a/src/core/transport/http/sender/http_sender.c +++ b/src/core/transport/http/sender/http_sender.c @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +#include <axutil_stream.h> #include <axis2_http_sender.h> #include <axutil_string.h> #include <axis2_http_transport.h> @@ -36,6 +36,7 @@ #include <axis2_util.h> #include <axiom_soap.h> #include <axutil_version.h> +#include "ssl/ssl_stream.h" #ifdef AXIS2_LIBCURL_ENABLED #include "libcurl/axis2_libcurl.h" @@ -43,6 +44,8 @@ #define CLIENT_NONCE_LENGTH 8 #endif + + struct axis2_http_sender { axis2_char_t *http_version; @@ -1594,7 +1597,14 @@ axis2_http_sender_process_response( response, env)); property = axutil_property_create(env); axutil_property_set_scope(property, env, AXIS2_SCOPE_REQUEST); - axutil_property_set_free_func(property, env, axutil_stream_free_void_arg); +#ifdef AXIS2_SSL_ENABLED + if(in_stream->stream_type == AXIS2_STREAM_SOCKET) + axutil_property_set_free_func(property, env, axutil_stream_free_void_arg); + else /** SSL Streams are AXIS2_STREAM_BASIC */ + axutil_property_set_free_func(property, env, axis2_ssl_stream_free); +#else + axutil_property_set_free_func(property, env, axutil_stream_free_void_arg); +#endif axutil_property_set_value(property, env, in_stream); axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_TRANSPORT_IN, property); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_http_sender_process_response"); |