summaryrefslogtreecommitdiffstats
path: root/chrome/browser/safe_browsing/protocol_manager.cc
diff options
context:
space:
mode:
authorbryner@chromium.org <bryner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-26 03:57:08 +0000
committerbryner@chromium.org <bryner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-26 03:57:08 +0000
commit6bef474c46b809587637258c58e589ee38d0db40 (patch)
tree1235cac71a172678cbf07479fd98f742e8649145 /chrome/browser/safe_browsing/protocol_manager.cc
parent213aa2bbf00ed7db787e0a2a541df1f559cad11e (diff)
downloadchromium_src-6bef474c46b809587637258c58e589ee38d0db40.zip
chromium_src-6bef474c46b809587637258c58e589ee38d0db40.tar.gz
chromium_src-6bef474c46b809587637258c58e589ee38d0db40.tar.bz2
Explicitly check the URLRequestStatus for SafeBrowsing responses.
This should help avoid parsing a partial response if the connection was closed after we started receiving a 200/204 response. BUG=none TEST=none Review URL: http://codereview.chromium.org/10173018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134057 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/safe_browsing/protocol_manager.cc')
-rw-r--r--chrome/browser/safe_browsing/protocol_manager.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/chrome/browser/safe_browsing/protocol_manager.cc b/chrome/browser/safe_browsing/protocol_manager.cc
index cce3e8c..bd01a23 100644
--- a/chrome/browser/safe_browsing/protocol_manager.cc
+++ b/chrome/browser/safe_browsing/protocol_manager.cc
@@ -206,7 +206,9 @@ void SafeBrowsingProtocolManager::OnURLFetchComplete(
SafeBrowsingService::SafeBrowsingCheck* check = it->second;
std::vector<SBFullHashResult> full_hashes;
bool can_cache = false;
- if (source->GetResponseCode() == 200 || source->GetResponseCode() == 204) {
+ if (source->GetStatus().is_success() &&
+ (source->GetResponseCode() == 200 ||
+ source->GetResponseCode() == 204)) {
// For tracking our GetHash false positive (204) rate, compared to real
// (200) responses.
if (source->GetResponseCode() == 200)
@@ -261,7 +263,7 @@ void SafeBrowsingProtocolManager::OnURLFetchComplete(
update_timer_.Stop();
}
- if (source->GetResponseCode() == 200) {
+ if (source->GetStatus().is_success() && source->GetResponseCode() == 200) {
// We have data from the SafeBrowsing service.
std::string data;
source->GetResponseAsString(&data);