summaryrefslogtreecommitdiffstats
path: root/net/base
diff options
context:
space:
mode:
authorrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-16 07:59:51 +0000
committerrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-16 07:59:51 +0000
commit3738393554f04077b5cfe877ce38d6dd0984971c (patch)
tree8a969b4b7ca712baec5d6d9ec0d389d58378f8cd /net/base
parent58e50b48bcbf60e5ddbbf0c01044a95c211b184a (diff)
downloadchromium_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.cc7
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: