diff options
author | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-16 07:59:51 +0000 |
---|---|---|
committer | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-16 07:59:51 +0000 |
commit | 3738393554f04077b5cfe877ce38d6dd0984971c (patch) | |
tree | 8a969b4b7ca712baec5d6d9ec0d389d58378f8cd /net/base | |
parent | 58e50b48bcbf60e5ddbbf0c01044a95c211b184a (diff) | |
download | chromium_src-3738393554f04077b5cfe877ce38d6dd0984971c.zip chromium_src-3738393554f04077b5cfe877ce38d6dd0984971c.tar.gz chromium_src-3738393554f04077b5cfe877ce38d6dd0984971c.tar.bz2 |
Fix a leak of a SECKEYPublicKey following r114709
BUG=none
TBR=wtc
Review URL: http://codereview.chromium.org/8971005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114781 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base')
-rw-r--r-- | net/base/x509_certificate_nss.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/base/x509_certificate_nss.cc b/net/base/x509_certificate_nss.cc index bb87144..39f2a94 100644 --- a/net/base/x509_certificate_nss.cc +++ b/net/base/x509_certificate_nss.cc @@ -22,6 +22,7 @@ #include "base/time.h" #include "crypto/nss_util.h" #include "crypto/rsa_private_key.h" +#include "crypto/scoped_nss_types.h" #include "net/base/asn1_util.h" #include "net/base/cert_status_flags.h" #include "net/base/cert_verify_result.h" @@ -1150,11 +1151,11 @@ void X509Certificate::GetPublicKeyInfo(OSCertHandle cert_handle, *type = kPublicKeyTypeUnknown; *size_bits = 0; - SECKEYPublicKey* key = CERT_ExtractPublicKey(cert_handle); - if (!key) + crypto::ScopedSECKEYPublicKey key(CERT_ExtractPublicKey(cert_handle)); + if (!key.get()) return; - *size_bits = SECKEY_PublicKeyStrengthInBits(key); + *size_bits = SECKEY_PublicKeyStrengthInBits(key.get()); switch (key->keyType) { case rsaKey: |