Author: kaushalye
Date: Wed Nov 21 04:04:37 2007
New Revision: 597047

URL: http://svn.apache.org/viewvc?rev=597047&view=rev
Log:
Memory leak fix in derived key signing

Modified:
    webservices/rampart/trunk/c/src/util/rampart_signature.c

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=597047&r1=597046&r2=597047&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_signature.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_signature.c Wed Nov 21 
04:04:37 2007
@@ -630,7 +630,8 @@
             id = NULL;
         }
     }
-
+    
+    /*Free array list*/
     axutil_array_list_free(nodes_to_sign, env);
     nodes_to_sign = NULL;
 
@@ -707,9 +708,18 @@
         }
     }
 
+    /*If we have used derived keys, then we need to free the key in sign_ctx*/
+    if(rampart_context_check_is_derived_keys (env, token)){
+        oxs_key_t *sig_ctx_dk = NULL;
+
+        sig_ctx_dk = oxs_sign_ctx_get_secret(sign_ctx, env);
+        oxs_key_free(sig_ctx_dk, env);
+        sig_ctx_dk = NULL;
+    }
     /*Free sig ctx*/
     oxs_sign_ctx_free(sign_ctx, env);
-    
+    sign_ctx = NULL;
+
     return status;
 }
 


Reply via email to