You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by sh...@apache.org on 2009/10/30 09:57:24 UTC
svn commit: r831231 - in /webservices/rampart/trunk/c/src/util:
rampart_context.c rampart_sec_header_processor.c
Author: shankar
Date: Fri Oct 30 08:57:24 2009
New Revision: 831231
URL: http://svn.apache.org/viewvc?rev=831231&view=rev
Log:
Fixing memory leak
Modified:
webservices/rampart/trunk/c/src/util/rampart_context.c
webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c
Modified: webservices/rampart/trunk/c/src/util/rampart_context.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_context.c?rev=831231&r1=831230&r2=831231&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_context.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_context.c Fri Oct 30 08:57:24 2009
@@ -357,11 +357,11 @@
}
/* Free receiver certificate we found when processing incoming security header */
- /*if(rampart_context->receiver_cert && rampart_context->found_cert_in_shp)
+ if(rampart_context->receiver_cert && rampart_context->found_cert_in_shp)
{
oxs_x509_cert_free(rampart_context->receiver_cert, env);
rampart_context->receiver_cert = NULL;
- }*/
+ }
if(rampart_context->key_mgr)
{
Modified: webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c?rev=831231&r1=831230&r2=831231&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c Fri Oct 30 08:57:24 2009
@@ -1614,7 +1614,11 @@
/* if security context token or X509 token is used, then store it. It will be used by the
* server to sign the message */
rampart_shp_store_token_id(env, key_info_node, rampart_context, sec_node, AXIS2_FALSE, msg_ctx);
- if(public_cert)
+
+ /* receiver certificate should be stored only if token is included as reference or embedded */
+ if((public_cert) &&
+ ((0 == axutil_strcmp(reference_method, OXS_NODE_REFERENCE))
+ || (0 == axutil_strcmp(reference_method, OXS_NODE_EMBEDDED))))
{
rampart_context_set_found_cert_in_shp(rampart_context, env, AXIS2_TRUE);
rampart_context_set_receiver_cert_found_in_shp(rampart_context, env, public_cert);