diff options
author | georgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-03 04:27:17 +0000 |
---|---|---|
committer | georgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-03 04:27:17 +0000 |
commit | a477963978c74bbe743610c72b3cf290baaeb0bd (patch) | |
tree | a4f7221b3af10727c302a6b90c196039172d5eeb /chrome | |
parent | 2e6a7d4b64b328c8d09a6fefb381316d01a89e00 (diff) | |
download | chromium_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.cc | 6 |
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) { |