Title: [239776] trunk/Source/WebKit
Revision
239776
Author
cdu...@apple.com
Date
2019-01-09 10:09:00 -0800 (Wed, 09 Jan 2019)

Log Message

WebKit Networking process crashes if the HTTPSUpgradeList is not found in the bundle
https://bugs.webkit.org/show_bug.cgi?id=193285
<rdar://problem/47147610>

Reviewed by Geoffrey Garen.

* NetworkProcess/NetworkHTTPSUpgradeChecker.cpp:
(WebKit::networkHTTPSUpgradeCheckerDatabasePath):
(WebKit::NetworkHTTPSUpgradeChecker::NetworkHTTPSUpgradeChecker):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (239775 => 239776)


--- trunk/Source/WebKit/ChangeLog	2019-01-09 18:03:52 UTC (rev 239775)
+++ trunk/Source/WebKit/ChangeLog	2019-01-09 18:09:00 UTC (rev 239776)
@@ -1,3 +1,15 @@
+2019-01-09  Chris Dumez  <cdu...@apple.com>
+
+        WebKit Networking process crashes if the HTTPSUpgradeList is not found in the bundle
+        https://bugs.webkit.org/show_bug.cgi?id=193285
+        <rdar://problem/47147610>
+
+        Reviewed by Geoffrey Garen.
+
+        * NetworkProcess/NetworkHTTPSUpgradeChecker.cpp:
+        (WebKit::networkHTTPSUpgradeCheckerDatabasePath):
+        (WebKit::NetworkHTTPSUpgradeChecker::NetworkHTTPSUpgradeChecker):
+
 2019-01-09  Michael Catanzaro  <mcatanz...@igalia.com>
 
         [GTK] Add missing autocleanups

Modified: trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp (239775 => 239776)


--- trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp	2019-01-09 18:03:52 UTC (rev 239775)
+++ trunk/Source/WebKit/NetworkProcess/NetworkHTTPSUpgradeChecker.cpp	2019-01-09 18:09:00 UTC (rev 239776)
@@ -46,7 +46,9 @@
 #if PLATFORM(COCOA)
     if (networkHTTPSUpgradeCheckerDatabasePath.get().isNull()) {
         CFBundleRef webKitBundle = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebKit"));
-        networkHTTPSUpgradeCheckerDatabasePath.get() = CFURLGetString(adoptCF(CFBundleCopyResourceURL(webKitBundle, CFSTR("HTTPSUpgradeList"), CFSTR("db"), nullptr)).get());
+        auto resourceURL = adoptCF(CFBundleCopyResourceURL(webKitBundle, CFSTR("HTTPSUpgradeList"), CFSTR("db"), nullptr));
+        if (resourceURL)
+            networkHTTPSUpgradeCheckerDatabasePath.get() = CFURLGetString(resourceURL.get());
     }
 #endif // PLATFORM(COCOA)
     return networkHTTPSUpgradeCheckerDatabasePath;
@@ -61,7 +63,10 @@
 
     m_workQueue->dispatch([this] {
         auto path = networkHTTPSUpgradeCheckerDatabasePath();
-        ASSERT(path);
+        if (path.isEmpty()) {
+            RELEASE_LOG_ERROR(Network, "%p - NetworkHTTPSUpgradeChecker failed to initialize because the database path is empty", this);
+            return;
+        }
 
         bool isDatabaseOpen = m_database->open(path);
         if (!isDatabaseOpen) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to