summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-15 14:30:34 +0000
committertzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-15 14:30:34 +0000
commit1e46ff627152c5b9cdbcbf62074de66a0baea86c (patch)
tree524a1646ece9cef748ce0d4a99d33113e4066515
parente059844f0a13eb7bd5905d2dee5b608206f6778e (diff)
downloadchromium_src-1e46ff627152c5b9cdbcbf62074de66a0baea86c.zip
chromium_src-1e46ff627152c5b9cdbcbf62074de66a0baea86c.tar.gz
chromium_src-1e46ff627152c5b9cdbcbf62074de66a0baea86c.tar.bz2
Handle invalid usage cache file path
usage_file_path can be empty when a FileSystem is accessed after DeleteFileSystem call. BUG= Review URL: https://chromiumcodereview.appspot.com/10832316 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151692 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--webkit/fileapi/file_system_usage_cache.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/webkit/fileapi/file_system_usage_cache.cc b/webkit/fileapi/file_system_usage_cache.cc
index 73f4cbe..f122378 100644
--- a/webkit/fileapi/file_system_usage_cache.cc
+++ b/webkit/fileapi/file_system_usage_cache.cc
@@ -130,9 +130,9 @@ int64 FileSystemUsageCache::Read(const FilePath& usage_file_path,
uint32* dirty) {
char buffer[kUsageFileSize];
const char *header;
- DCHECK(!usage_file_path.empty());
- if (kUsageFileSize !=
- file_util::ReadFile(usage_file_path, buffer, kUsageFileSize))
+ if (usage_file_path.empty() ||
+ kUsageFileSize != file_util::ReadFile(usage_file_path,
+ buffer, kUsageFileSize))
return -1;
Pickle read_pickle(buffer, kUsageFileSize);
PickleIterator iter(read_pickle);
@@ -164,9 +164,9 @@ int FileSystemUsageCache::Write(const FilePath& usage_file_path,
write_pickle.WriteUInt32(dirty);
write_pickle.WriteInt64(fs_usage);
- DCHECK(!usage_file_path.empty());
FilePath temporary_usage_file_path;
- if (!file_util::CreateTemporaryFileInDir(usage_file_path.DirName(),
+ if (usage_file_path.empty() ||
+ !file_util::CreateTemporaryFileInDir(usage_file_path.DirName(),
&temporary_usage_file_path)) {
return -1;
}