diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-25 02:05:48 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-25 02:05:48 +0000 |
commit | 6c293a7baba7aa1d998e2680492246f239a7015d (patch) | |
tree | f0a33c09efd57c698c28c188f6c12c399a308c90 /net/socket | |
parent | fbf59d6e27560cd63952c79ae18216fda42d690f (diff) | |
download | chromium_src-6c293a7baba7aa1d998e2680492246f239a7015d.zip chromium_src-6c293a7baba7aa1d998e2680492246f239a7015d.tar.gz chromium_src-6c293a7baba7aa1d998e2680492246f239a7015d.tar.bz2 |
Fix a potential CFRelease(NULL).
It would happen if CreateClientCertificateChain() returns NULL.
Found by the clang static analyzer. Probably doesn't happen in
practice.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8308009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107041 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket')
-rw-r--r-- | net/socket/ssl_client_socket_nss.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/socket/ssl_client_socket_nss.cc b/net/socket/ssl_client_socket_nss.cc index bd7117d..1273940 100644 --- a/net/socket/ssl_client_socket_nss.cc +++ b/net/socket/ssl_client_socket_nss.cc @@ -2383,8 +2383,11 @@ SECStatus SSLClientSocketNSS::PlatformClientAuthHandler( } } if (os_error == noErr) { - int cert_count = CFArrayGetCount(chain); - CFRelease(chain); + int cert_count = 0; + if (chain) { + cert_count = CFArrayGetCount(chain); + CFRelease(chain); + } that->net_log_.AddEvent(NetLog::TYPE_SSL_CLIENT_CERT_PROVIDED, make_scoped_refptr(new NetLogIntegerParameter("cert_count", cert_count))); |