summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorgeorgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-03 04:27:17 +0000
committergeorgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-03 04:27:17 +0000
commita477963978c74bbe743610c72b3cf290baaeb0bd (patch)
treea4f7221b3af10727c302a6b90c196039172d5eeb /chrome
parent2e6a7d4b64b328c8d09a6fefb381316d01a89e00 (diff)
downloadchromium_src-a477963978c74bbe743610c72b3cf290baaeb0bd.zip
chromium_src-a477963978c74bbe743610c72b3cf290baaeb0bd.tar.gz
chromium_src-a477963978c74bbe743610c72b3cf290baaeb0bd.tar.bz2
Fix crash in some network situations
BUG=40234 TEST=In the bug. Review URL: http://codereview.chromium.org/1549018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43568 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/autofill/autofill_manager.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/chrome/browser/autofill/autofill_manager.cc b/chrome/browser/autofill/autofill_manager.cc
index b651a97..acb8ed0 100644
--- a/chrome/browser/autofill/autofill_manager.cc
+++ b/chrome/browser/autofill/autofill_manager.cc
@@ -396,7 +396,11 @@ void AutoFillManager::OnLoadedAutoFillHeuristics(
it_signatures != form_signatures.end() &&
(*it_forms)->FormSignature() == *it_signatures;
++it_forms, ++it_signatures) {
- DCHECK(field_types.size() - field_shift >= (*it_forms)->field_count());
+ // In some cases *successful* response does not return all the fields.
+ // Quit the update of the types then.
+ if (field_types.size() - field_shift < (*it_forms)->field_count()) {
+ break;
+ }
for (size_t i = 0; i < (*it_forms)->field_count(); ++i) {
if (field_types[i + field_shift] != NO_SERVER_DATA &&
field_types[i + field_shift] != UNKNOWN_TYPE) {