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/23 12:35:31 UTC

svn commit: r568922 - in /webservices/rampart/trunk/c/src: omxmlsec/encryption.c omxmlsec/iv.c omxmlsec/openssl/x509.c util/rampart_encryption.c

Author: kaushalye
Date: Thu Aug 23 03:35:30 2007
New Revision: 568922

URL: http://svn.apache.org/viewvc?rev=568922&view=rev
Log:
Memory leaks fixed

Modified:
    webservices/rampart/trunk/c/src/omxmlsec/encryption.c
    webservices/rampart/trunk/c/src/omxmlsec/iv.c
    webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c
    webservices/rampart/trunk/c/src/util/rampart_encryption.c

Modified: webservices/rampart/trunk/c/src/omxmlsec/encryption.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/encryption.c?rev=568922&r1=568921&r2=568922&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/encryption.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/encryption.c Thu Aug 23 03:35:30 2007
@@ -45,17 +45,18 @@
     axis2_status_t ret = AXIS2_FAILURE;
 
     /*Get cipher property*/
-    cprop =  oxs_get_cipher_property_for_url(env, oxs_ctx_get_enc_mtd_algorithm(enc_ctx, env));
+    cprop = oxs_get_cipher_property_for_url(env, oxs_ctx_get_enc_mtd_algorithm(enc_ctx, env));
     if(!cprop){
         oxs_error(env, ERROR_LOCATION, OXS_ERROR_INVALID_DATA,
                   "Cipher property is NULL");
         return AXIS2_FAILURE;
     }
     /*Get the IV*/
-    iv = axutil_strndup(env,
-              (axis2_char_t*)oxs_iv_generate_for_algo(env,
-                           oxs_ctx_get_enc_mtd_algorithm(enc_ctx, env)),
-                       openssl_cipher_property_get_iv_size(cprop, env));
+    iv = axutil_strndup(env, 
+                        (axis2_char_t*)oxs_iv_generate_for_algo(env,
+                                   oxs_ctx_get_enc_mtd_algorithm(enc_ctx, env)),
+                         openssl_cipher_property_get_iv_size(cprop, env));
+
 
     /*Create the openssl context*/
     oc_ctx = openssl_cipher_ctx_create(env);

Modified: webservices/rampart/trunk/c/src/omxmlsec/iv.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/iv.c?rev=568922&r1=568921&r2=568922&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/iv.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/iv.c Thu Aug 23 03:35:30 2007
@@ -57,7 +57,7 @@
     }
     else
     {
-        iv = OXS_IV_DEFAULT;/* i.e. OPENSSL_DEFAULT_IV16. Many ciphers have 16... mmm.. need a better way.. a TODO*/
+        iv = OXS_IV_DEFAULT;
     }
 
     return iv;

Modified: webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c?rev=568922&r1=568921&r2=568922&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c Thu Aug 23 03:35:30 2007
@@ -217,9 +217,9 @@
         unformatted = NULL;
         core = NULL;
         return buffer;
-    }
-    else
+    }else{
         return NULL;
+    }        
 }
 
 
@@ -231,9 +231,15 @@
     int no = 0;
     /*WARN: Do not use the serial number without converting it to the integer.*/
     serial = (axis2_char_t*)i2s_ASN1_INTEGER(NULL, X509_get_serialNumber(cert));
-    no = atoi(serial);
-
-    return no;
+    if(serial){
+        no = atoi(serial);
+    
+        AXIS2_FREE(env->allocator, serial);
+        serial = NULL;
+        return no;
+     }else{
+        return -1;
+     }
 }
 
 AXIS2_EXTERN unsigned long AXIS2_CALL
@@ -379,10 +385,6 @@
     result = axutil_strndup( env, data, n);
     
     BIO_free(out);
-    if(data){
-        /*AXIS2_FREE(env->allocator, data);
-        data = NULL;*/
-    }
     out = NULL;
 
     return result;

Modified: webservices/rampart/trunk/c/src/util/rampart_encryption.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_encryption.c?rev=568922&r1=568921&r2=568922&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_encryption.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_encryption.c Thu Aug 23 03:35:30 2007
@@ -232,6 +232,11 @@
         enc_ctx = NULL;
 
     }/*Eof For loop*/
+
+    /*TODO free list*/
+    axutil_array_list_free(nodes_to_encrypt, env);
+    nodes_to_encrypt = NULL;
+
     /*Get the asymmetric key encryption algorithm*/
     enc_asym_algo = rampart_context_get_enc_asym_algo(rampart_context, env);
 
@@ -331,6 +336,7 @@
     {
         return AXIS2_FAILURE;
     }
+
     oxs_asym_ctx_free(asym_ctx, env);
     asym_ctx = NULL;