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 ka...@apache.org on 2007/08/24 07:46:32 UTC
svn commit: r569258 - in /webservices/rampart/trunk/c/src:
omxmlsec/signature.c util/rampart_sec_header_processor.c
util/rampart_signature.c
Author: kaushalye
Date: Thu Aug 23 22:46:32 2007
New Revision: 569258
URL: http://svn.apache.org/viewvc?rev=569258&view=rev
Log:
memory leak fixes in signature process
Modified:
webservices/rampart/trunk/c/src/omxmlsec/signature.c
webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c
webservices/rampart/trunk/c/src/util/rampart_signature.c
Modified: webservices/rampart/trunk/c/src/omxmlsec/signature.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/signature.c?rev=569258&r1=569257&r2=569258&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/signature.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/signature.c Thu Aug 23 22:46:32 2007
@@ -62,7 +62,11 @@
/*Free signed_result_buf*/
oxs_buffer_free(signed_result_buf, env);
signed_result_buf = NULL;
-
+
+ /*Free encoded_str*/
+ AXIS2_FREE(env->allocator, encoded_str);
+ encoded_str = NULL;
+
return AXIS2_SUCCESS;
}
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=569258&r1=569257&r2=569258&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 Thu Aug 23 22:46:32 2007
@@ -429,8 +429,11 @@
/*Free*/
oxs_ctx_free(ctx, env);
ctx = NULL;
-
-
+
+ if(decrypted_sym_key){
+ oxs_key_free(decrypted_sym_key, env);
+ decrypted_sym_key = NULL;
+ }
AXIS2_LOG_INFO(env->log, "[rampart][shp] Node ID=%s decrypted successfuly", id);
}
@@ -834,6 +837,11 @@
{
AXIS2_LOG_INFO(env->log,"[Rampart][shp]Signature Verification failed.");
return AXIS2_FAILURE;
+ }
+
+ if(sign_ctx){
+ oxs_sign_ctx_free(sign_ctx, env);
+ sign_ctx = NULL;
}
return status;
Modified: webservices/rampart/trunk/c/src/util/rampart_signature.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_signature.c?rev=569258&r1=569257&r2=569258&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_signature.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_signature.c Thu Aug 23 22:46:32 2007
@@ -391,7 +391,7 @@
oxs_sign_ctx_free(sign_ctx, env);
/*Now we must build the Key Info element*/
- key_info_node = oxs_token_build_key_info_element(env,sig_node);
+ key_info_node = oxs_token_build_key_info_element(env, sig_node);
if(!key_info_node)
{
AXIS2_LOG_INFO(env->log, "[rampart][rampart_signature] Key info element build failed.");
@@ -402,14 +402,14 @@
axiom_node_t *str_node = NULL;
axiom_node_t *reference_node = NULL;
axis2_char_t *cert_id_ref = NULL;
- str_node = oxs_token_build_security_token_reference_element(env,key_info_node);
+ str_node = oxs_token_build_security_token_reference_element(env, key_info_node);
if(!str_node)
{
AXIS2_LOG_INFO(env->log, "[rampart][rampart_signature] Security Token element creation failed in Direct reference.");
return AXIS2_FAILURE;
}
cert_id_ref = axutil_stracat(env, "#",cert_id);
- reference_node = oxs_token_build_reference_element(env,str_node,cert_id_ref,OXS_VALUE_X509V3);
+ reference_node = oxs_token_build_reference_element(env, str_node, cert_id_ref, OXS_VALUE_X509V3);
if(!reference_node)
{
AXIS2_LOG_INFO(env->log, "[rampart][rampart_signature] Security Token element creation failed in Direct reference.");
@@ -418,7 +418,7 @@
}
else
{
- cert = rampart_sig_get_cert(env,rampart_context);
+ cert = rampart_sig_get_cert(env, rampart_context);
if(!cert)
{
return AXIS2_FAILURE;
@@ -444,9 +444,12 @@
cert = NULL;
}
+ /*FREE*/
+ if(cert_id){
+ AXIS2_FREE(env->allocator, cert_id);
+ cert_id = NULL;
+ }
- AXIS2_FREE(env->allocator, cert_id);
- cert_id = NULL;
return status;
}