summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/http/http_cache.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
index a45c1ba..d55ab70 100644
--- a/net/http/http_cache.cc
+++ b/net/http/http_cache.cc
@@ -1597,16 +1597,20 @@ void HttpCache::DeactivateEntry(ActiveEntry* entry) {
size_t readers_size = local_entry.readers.size();
size_t pending_size = local_entry.pending_queue.size();
- ActiveEntriesMap::iterator it =
- active_entries_.find(entry->disk_entry->GetKey());
+ std::string key = entry->disk_entry->GetKey();
+ ActiveEntriesMap::iterator it = active_entries_.find(key);
if (it == active_entries_.end() || it->second != entry ||
local_entry.will_process_pending_queue || local_entry.doomed ||
local_entry.writer || readers_size || pending_size || deleted_) {
bool local_mem_flag = in_memory_cache_;
ActiveEntriesSet::iterator it2 = doomed_entries_.find(entry);
+ char local_key[64];
+ int key_length = key.size();
+ base::strlcpy(local_key, key.c_str(), sizeof(local_key));
CHECK(it2 == doomed_entries_.end());
CHECK(!deleted_);
CHECK(local_mem_flag);
+ CHECK(key_length);
CHECK(false);
}
@@ -1677,6 +1681,9 @@ void HttpCache::DoneWithEntry(ActiveEntry* entry, Transaction* trans) {
char local_transaction[sizeof(*trans)];
memcpy(local_transaction, trans, sizeof(*trans));
+ char local_key[64];
+ base::strlcpy(local_key, trans->key().c_str(), sizeof(local_key));
+
// Assume that this is not a successful write.
DoneWritingToEntry(entry, false);
} else {