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/27 10:40:45 UTC

svn commit: r570038 - in /webservices/rampart/trunk/c/src/omxmlsec: openssl/x509.c x509_cert.c xml_signature.c

Author: kaushalye
Date: Mon Aug 27 01:40:44 2007
New Revision: 570038

URL: http://svn.apache.org/viewvc?rev=570038&view=rev
Log:
Memory leak fix

Modified:
    webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c
    webservices/rampart/trunk/c/src/omxmlsec/x509_cert.c
    webservices/rampart/trunk/c/src/omxmlsec/xml_signature.c

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=570038&r1=570037&r2=570038&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c Mon Aug 27 01:40:44 2007
@@ -265,7 +265,7 @@
                                         X509 *cert)
 {
     X509_EXTENSION *ext;
-    ASN1_OCTET_STRING *keyId = NULL;
+    ASN1_OCTET_STRING *key_id = NULL;
     int index = 0;
     EVP_ENCODE_CTX ctx;
     int len, ret;
@@ -288,19 +288,21 @@
         return NULL;
     }
     /*Subject Key Identifier*/
-    keyId = (ASN1_OCTET_STRING *)X509V3_EXT_d2i(ext);
-    if (keyId == NULL) {
+    key_id = (ASN1_OCTET_STRING *)X509V3_EXT_d2i(ext);
+    if (key_id == NULL) {
         oxs_error(env, ERROR_LOCATION, OXS_ERROR_DEFAULT,
                   "The SubjectKeyIdentifier is NULL");
         return NULL;
     }
-    memcpy(buf, keyId->data, keyId->length);
-    buf[keyId->length] = 0;
+    memcpy(buf, key_id->data, key_id->length);
+    buf[key_id->length] = 0;
 
     EVP_EncodeInit(&ctx);
-    EVP_EncodeUpdate(&ctx, (unsigned char*)output, &len, (unsigned char*)buf, keyId->length);
+    EVP_EncodeUpdate(&ctx, (unsigned char*)output, &len, (unsigned char*)buf, key_id->length);
     EVP_EncodeFinal(&ctx, (unsigned char*)(output+len), &ret);
 
+
+    M_ASN1_OCTET_STRING_free(key_id);
     ret += len;
     ski = axutil_strdup(env, output);
     return ski;

Modified: webservices/rampart/trunk/c/src/omxmlsec/x509_cert.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/x509_cert.c?rev=570038&r1=570037&r2=570038&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/x509_cert.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/x509_cert.c Mon Aug 27 01:40:44 2007
@@ -102,6 +102,10 @@
         openssl_pkey_free(x509_cert->public_key, env);
         x509_cert->public_key = NULL;
     }
+    
+    AXIS2_FREE(env->allocator,  x509_cert);
+    x509_cert = NULL;
+    
     return AXIS2_SUCCESS;
 }
 

Modified: webservices/rampart/trunk/c/src/omxmlsec/xml_signature.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/xml_signature.c?rev=570038&r1=570037&r2=570038&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/xml_signature.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/xml_signature.c Mon Aug 27 01:40:44 2007
@@ -533,6 +533,10 @@
         oxs_error(env, ERROR_LOCATION, OXS_ERROR_SIG_VERIFICATION_FAILED,"Digest verification failed for node Id= %s  ", id );
         status =  AXIS2_FAILURE;
     }
+    
+    /*FREE*/
+    AXIS2_FREE(env->allocator, new_digest);
+    new_digest = NULL;
 
     return status;
 }