Bug 824224 - IndexedDB blobs crash with 'ABORT: NULL actor value passed to non-nullable param.' r=cjones.
authorBen Turner <bent.mozilla@gmail.com>
Mon, 07 Jan 2013 11:25:35 +0100
changeset 126971 0719d446b16a6474f41e5f55beb2c4a693363d6d
parent 126970 605ae260b7c8afd3692ce97ce005a462eacf6095
child 126972 13c24710fbac9a43b525a397f299960f4b3b2a2b
push id2151
push userlsblakk@mozilla.com
push dateTue, 19 Feb 2013 18:06:57 +0000
treeherdermozilla-beta@4952e88741ec [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerscjones
bugs824224
milestone20.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 824224 - IndexedDB blobs crash with 'ABORT: NULL actor value passed to non-nullable param.' r=cjones.
dom/indexedDB/IDBObjectStore.cpp
--- a/dom/indexedDB/IDBObjectStore.cpp
+++ b/dom/indexedDB/IDBObjectStore.cpp
@@ -1496,17 +1496,20 @@ IDBObjectStore::ConvertBlobsToActors(
         NS_WARNING("Failed to get file!");
         return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR;
       }
 
       nsCOMPtr<nsIDOMBlob> blob = new nsDOMFileFile(nativeFile, file.mFileInfo);
 
       BlobParent* actor =
         aContentParent->GetOrCreateActorForBlob(blob);
-      NS_ASSERTION(actor, "This should never fail without aborting!");
+      if (!actor) {
+        // This can only fail if the child has crashed.
+        return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR;
+      }
 
       aActors.AppendElement(actor);
     }
   }
 
   return NS_OK;
 }