Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Side by Side Diff: chrome/browser/ssl/ssl_error_info.cc

Issue 1025523004: Removed implicit cast from size_t to int, prevent an unlikely but theoretically possible integer ov… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Made it a void function since the return value is never used. Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/ssl/ssl_error_info.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ssl/ssl_error_info.h" 5 #include "chrome/browser/ssl/ssl_error_info.h"
6 6
7 #include "base/i18n/time_formatting.h" 7 #include "base/i18n/time_formatting.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/grit/chromium_strings.h" 10 #include "chrome/grit/chromium_strings.h"
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 return CERT_WEAK_KEY_DH; 204 return CERT_WEAK_KEY_DH;
205 case net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN: 205 case net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN:
206 return CERT_PINNED_KEY_MISSING; 206 return CERT_PINNED_KEY_MISSING;
207 default: 207 default:
208 NOTREACHED(); 208 NOTREACHED();
209 return UNKNOWN; 209 return UNKNOWN;
210 } 210 }
211 } 211 }
212 212
213 // static 213 // static
214 int SSLErrorInfo::GetErrorsForCertStatus(int cert_id, 214 void SSLErrorInfo::GetErrorsForCertStatus(int cert_id,
215 net::CertStatus cert_status, 215 net::CertStatus cert_status,
216 const GURL& url, 216 const GURL& url,
217 std::vector<SSLErrorInfo>* errors) { 217 std::vector<SSLErrorInfo>* errors) {
218 const net::CertStatus kErrorFlags[] = { 218 const net::CertStatus kErrorFlags[] = {
219 net::CERT_STATUS_COMMON_NAME_INVALID, 219 net::CERT_STATUS_COMMON_NAME_INVALID,
220 net::CERT_STATUS_DATE_INVALID, 220 net::CERT_STATUS_DATE_INVALID,
221 net::CERT_STATUS_AUTHORITY_INVALID, 221 net::CERT_STATUS_AUTHORITY_INVALID,
222 net::CERT_STATUS_NO_REVOCATION_MECHANISM, 222 net::CERT_STATUS_NO_REVOCATION_MECHANISM,
223 net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION, 223 net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION,
224 net::CERT_STATUS_REVOKED, 224 net::CERT_STATUS_REVOKED,
225 net::CERT_STATUS_INVALID, 225 net::CERT_STATUS_INVALID,
226 net::CERT_STATUS_WEAK_SIGNATURE_ALGORITHM, 226 net::CERT_STATUS_WEAK_SIGNATURE_ALGORITHM,
227 net::CERT_STATUS_WEAK_KEY, 227 net::CERT_STATUS_WEAK_KEY,
(...skipping 10 matching lines...) Expand all
238 CERT_REVOKED, 238 CERT_REVOKED,
239 CERT_INVALID, 239 CERT_INVALID,
240 CERT_WEAK_SIGNATURE_ALGORITHM, 240 CERT_WEAK_SIGNATURE_ALGORITHM,
241 CERT_WEAK_KEY, 241 CERT_WEAK_KEY,
242 CERT_NAME_CONSTRAINT_VIOLATION, 242 CERT_NAME_CONSTRAINT_VIOLATION,
243 CERT_VALIDITY_TOO_LONG, 243 CERT_VALIDITY_TOO_LONG,
244 }; 244 };
245 DCHECK(arraysize(kErrorFlags) == arraysize(kErrorTypes)); 245 DCHECK(arraysize(kErrorFlags) == arraysize(kErrorTypes));
246 246
247 scoped_refptr<net::X509Certificate> cert = NULL; 247 scoped_refptr<net::X509Certificate> cert = NULL;
248 int count = 0;
249 for (size_t i = 0; i < arraysize(kErrorFlags); ++i) { 248 for (size_t i = 0; i < arraysize(kErrorFlags); ++i) {
250 if (cert_status & kErrorFlags[i]) { 249 if (cert_status & kErrorFlags[i]) {
251 count++;
252 if (!cert.get()) { 250 if (!cert.get()) {
253 bool r = content::CertStore::GetInstance()->RetrieveCert( 251 bool r = content::CertStore::GetInstance()->RetrieveCert(
254 cert_id, &cert); 252 cert_id, &cert);
255 DCHECK(r); 253 DCHECK(r);
256 } 254 }
257 if (errors) { 255 if (errors) {
258 errors->push_back( 256 errors->push_back(
259 SSLErrorInfo::CreateError(kErrorTypes[i], cert.get(), url)); 257 SSLErrorInfo::CreateError(kErrorTypes[i], cert.get(), url));
260 } 258 }
261 } 259 }
262 } 260 }
263 return count;
264 } 261 }
OLDNEW
« no previous file with comments | « chrome/browser/ssl/ssl_error_info.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698