Bug 1398231 - P1: Make file exist check before assertion. r?bkelly draft
authorTom Tung <shes050117@gmail.com>
Sat, 09 Sep 2017 09:30:05 +0800
changeset 661832 d3fb59c4e63fafc4651dc8f3661b12c7a230b9f3
parent 661828 9a3854a56016ce423ecccf4f03ca35b50218452d
child 661884 e55b943ed5ef8acd2585b32986eb5c0148e297e6
push id78881
push userttung@mozilla.com
push dateSat, 09 Sep 2017 01:57:44 +0000
reviewersbkelly
bugs1398231
milestone57.0a1
Bug 1398231 - P1: Make file exist check before assertion. r?bkelly MozReview-Commit-ID: 8t7P97Ttrv1
dom/cache/FileUtils.cpp
--- a/dom/cache/FileUtils.cpp
+++ b/dom/cache/FileUtils.cpp
@@ -781,18 +781,20 @@ LockedUpdateDirectoryPaddingFile(nsIFile
                                  const bool aTemporaryFileExist)
 {
   MOZ_DIAGNOSTIC_ASSERT(aBaseDir);
   MOZ_DIAGNOSTIC_ASSERT(aConn);
   MOZ_DIAGNOSTIC_ASSERT(aIncreaseSize >= 0);
   MOZ_DIAGNOSTIC_ASSERT(aDecreaseSize >= 0);
 
   int64_t currentPaddingSize = 0;
-  nsresult rv = LockedDirectoryPaddingGet(aBaseDir, &currentPaddingSize);
-  if (NS_WARN_IF(NS_FAILED(rv)) || aTemporaryFileExist) {
+  nsresult rv = NS_OK;
+  if (aTemporaryFileExist ||
+      NS_WARN_IF(NS_FAILED(rv =
+        LockedDirectoryPaddingGet(aBaseDir, &currentPaddingSize)))) {
     // Fail to read padding size from the dir padding file, so try to restore.
     if (rv != NS_ERROR_FILE_NOT_FOUND &&
         rv != NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) {
       // Not delete the temporary padding file here, because we're going to
       // overwrite it below anyway.
       rv = LockedDirectoryPaddingDeleteFile(aBaseDir, DirPaddingFile::FILE);
       if (NS_WARN_IF(NS_FAILED(rv))) { return rv; }
     }