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;
}