diff options
author | Merov Linden <merov@lindenlab.com> | 2013-10-28 12:14:27 -0700 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2013-10-28 12:14:27 -0700 |
commit | 026b528b86a853a923ec87dd3897fe2079cbd539 (patch) | |
tree | b31ec200f751a5c0817a6e628ae6e6c4f394bf77 /indra/newview/llsechandler_basic.cpp | |
parent | ee74eb1a9ee8e2aba49613cf434f1272a4526417 (diff) | |
parent | ea1e1b0925b386cf83178539b8eae9e25c573548 (diff) |
Pull merge from lindenlab/viewer-release
Diffstat (limited to 'indra/newview/llsechandler_basic.cpp')
-rwxr-xr-x | indra/newview/llsechandler_basic.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/newview/llsechandler_basic.cpp b/indra/newview/llsechandler_basic.cpp index 928d26646b..c4d5450e2b 100755 --- a/indra/newview/llsechandler_basic.cpp +++ b/indra/newview/llsechandler_basic.cpp @@ -207,6 +207,7 @@ LLSD _basic_constraints_ext(X509* cert) } } + BASIC_CONSTRAINTS_free( bs ); } return result; } @@ -268,6 +269,8 @@ LLSD _ext_key_usage_ext(X509* cert) ASN1_OBJECT_free(usage); } } + + EXTENDED_KEY_USAGE_free( eku ); } return result; } @@ -280,6 +283,8 @@ LLSD _subject_key_identifier_ext(X509 *cert) if(skeyid) { result = cert_string_from_octet_string(skeyid); + + ASN1_OCTET_STRING_free( skeyid ); } return result; } @@ -300,6 +305,9 @@ LLSD _authority_key_identifier_ext(X509* cert) { result[CERT_AUTHORITY_KEY_IDENTIFIER_SERIAL] = cert_string_from_asn1_integer(akeyid->serial); } + + + AUTHORITY_KEYID_free( akeyid ); } // we ignore the issuer name in the authority key identifier, we check the issue name via @@ -1049,6 +1057,8 @@ void LLBasicCertificateStore::validate(int validation_policy, throw LLInvalidCertificate((*current_cert)); } std::string sha1_hash((const char *)cert_x509->sha1_hash, SHA_DIGEST_LENGTH); + X509_free( cert_x509 ); + cert_x509 = NULL; t_cert_cache::iterator cache_entry = mTrustedCertCache.find(sha1_hash); if(cache_entry != mTrustedCertCache.end()) { |