diff options
author | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-20 17:19:32 +0000 |
---|---|---|
committer | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-20 17:19:32 +0000 |
commit | 4e4e45cf87e61953f37d086a6ac70e1670c40f35 (patch) | |
tree | 60df3e39c67f597d745401604b5c887412e6df3d /net | |
parent | 419b058386d043e5eb974874540da567223c2ccb (diff) | |
download | chromium_src-4e4e45cf87e61953f37d086a6ac70e1670c40f35.zip chromium_src-4e4e45cf87e61953f37d086a6ac70e1670c40f35.tar.gz chromium_src-4e4e45cf87e61953f37d086a6ac70e1670c40f35.tar.bz2 |
Disk cache: Fix the sanity check for entries with keys of 16KB.
BUG=100800
TEST=net_unittests
Review URL: http://codereview.chromium.org/8347014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106515 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/disk_cache/entry_impl.cc | 4 | ||||
-rw-r--r-- | net/disk_cache/entry_unittest.cc | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/net/disk_cache/entry_impl.cc b/net/disk_cache/entry_impl.cc index 7bcccf4..e830fa0 100644 --- a/net/disk_cache/entry_impl.cc +++ b/net/disk_cache/entry_impl.cc @@ -603,8 +603,8 @@ bool EntryImpl::SanityCheck() { return false; if (key_addr.is_initialized() && - ((stored->key_len <= kMaxBlockSize && key_addr.is_separate_file()) || - (stored->key_len > kMaxBlockSize && key_addr.is_block_file()))) + ((stored->key_len < kMaxBlockSize && key_addr.is_separate_file()) || + (stored->key_len >= kMaxBlockSize && key_addr.is_block_file()))) return false; int num_blocks = NumBlocksForEntry(stored->key_len); diff --git a/net/disk_cache/entry_unittest.cc b/net/disk_cache/entry_unittest.cc index 1374101..a763dbb 100644 --- a/net/disk_cache/entry_unittest.cc +++ b/net/disk_cache/entry_unittest.cc @@ -531,6 +531,14 @@ void DiskCacheEntryTest::GetKey() { ASSERT_EQ(net::OK, CreateEntry(key, &entry)); EXPECT_TRUE(key == entry->GetKey()) << "long key"; entry->Close(); + + CacheTestFillBuffer(key_buffer, 0x4000, true); + key_buffer[0x4000] = '\0'; + + key = key_buffer; + ASSERT_EQ(net::OK, CreateEntry(key, &entry)); + EXPECT_TRUE(key == entry->GetKey()) << "16KB key"; + entry->Close(); } TEST_F(DiskCacheEntryTest, GetKey) { |