Bug 1242924 - check return of pattern.Init in DOMStorageManager::Observe. r?jst draft
authorBogdan Postelnicu <bogdan.postelnicu@softvision.ro>
Tue, 26 Jan 2016 15:09:19 +0200
changeset 325775 a4f34f237e57eedefce2b2f6503ce6973afa1574
parent 325588 aa90f482e16db77cdb7dea84564ea1cbd8f7f6b3
child 513507 9b9d6a2a8dc0fe557b720c616f282eab92beb002
push id10043
push userbmo:bogdan.postelnicu@softvision.ro
push dateTue, 26 Jan 2016 13:14:21 +0000
reviewersjst
bugs1242924
milestone47.0a1
Bug 1242924 - check return of pattern.Init in DOMStorageManager::Observe. r?jst
dom/storage/DOMStorageManager.cpp
--- a/dom/storage/DOMStorageManager.cpp
+++ b/dom/storage/DOMStorageManager.cpp
@@ -509,17 +509,20 @@ DOMStorageManager::ClearCaches(uint32_t 
 }
 
 nsresult
 DOMStorageManager::Observe(const char* aTopic,
                            const nsAString& aOriginAttributesPattern,
                            const nsACString& aOriginScope)
 {
   OriginAttributesPattern pattern;
-  pattern.Init(aOriginAttributesPattern);
+  if (!pattern.Init(aOriginAttributesPattern)) {
+    NS_ERROR("Cannot parse origin attributes pattern");
+    return NS_ERROR_FAILURE;
+  }
 
   // Clear everything, caches + database
   if (!strcmp(aTopic, "cookie-cleared")) {
     ClearCaches(DOMStorageCache::kUnloadComplete, pattern, EmptyCString());
     return NS_OK;
   }
 
   // Clear from caches everything that has been stored