Commit 45aa9aee authored by Daniel Murphy's avatar Daniel Murphy Committed by Commit Bot

[LevelDBWrapper] Crash fix for Delete w/ no database backing

Reviewer: mek@chromium.org
Bug: 792384
Change-Id: I461b2b192cd20d3e0c7f74c99557158055e3bedf
Reviewed-on: https://chromium-review.googlesource.com/814581
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: default avatarMarijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522737}
parent 8a2d1cfb
...@@ -366,7 +366,8 @@ void LevelDBWrapperImpl::Delete( ...@@ -366,7 +366,8 @@ void LevelDBWrapperImpl::Delete(
storage_used_ -= key.size() + found->second; storage_used_ -= key.size() + found->second;
keys_only_map_.erase(found); keys_only_map_.erase(found);
memory_used_ -= key.size() + sizeof(size_t); memory_used_ -= key.size() + sizeof(size_t);
commit_batch_->changed_values[key] = std::vector<uint8_t>(); if (commit_batch_)
commit_batch_->changed_values[key] = std::vector<uint8_t>();
} else { } else {
DCHECK_EQ(map_state_, MapState::LOADED_KEYS_AND_VALUES); DCHECK_EQ(map_state_, MapState::LOADED_KEYS_AND_VALUES);
ValueMap::iterator found = keys_values_map_.find(key); ValueMap::iterator found = keys_values_map_.find(key);
...@@ -378,7 +379,8 @@ void LevelDBWrapperImpl::Delete( ...@@ -378,7 +379,8 @@ void LevelDBWrapperImpl::Delete(
keys_values_map_.erase(found); keys_values_map_.erase(found);
memory_used_ -= key.size() + old_value.size(); memory_used_ -= key.size() + old_value.size();
storage_used_ -= key.size() + old_value.size(); storage_used_ -= key.size() + old_value.size();
commit_batch_->changed_keys.insert(key); if (commit_batch_)
commit_batch_->changed_keys.insert(key);
} }
observers_.ForAllPtrs( observers_.ForAllPtrs(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment