summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2013-09-04 09:18:53 -0400
committerOz Linden <oz@lindenlab.com>2013-09-04 09:18:53 -0400
commit96f0d930bc29b805d195c3b0155c9f0d2ce70b02 (patch)
tree640d6121229a1af1632249da0f6decb2b485975e /indra/newview
parentd43a302eaf1b0ca521d4b865e39a8d849da5d5b8 (diff)
parent5172d4edac75fbca2209279ffd8a837cfe99434d (diff)
merge changes for open-187
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/llsechandler_basic.cpp10
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())
{