Title: [256680] branches/safari-609-branch/Source/WebKit
Revision
256680
Author
repst...@apple.com
Date
2020-02-14 19:02:02 -0800 (Fri, 14 Feb 2020)

Log Message

Cherry-pick r256578. rdar://problem/59447009

    Protect WebSWServerConnection::scheduleJobInServer from bad scopeURL
    https://bugs.webkit.org/show_bug.cgi?id=207722

    Reviewed by Chris Dumez.

    * NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
    (WebKit::WebSWServerConnection::scheduleJobInServer):
    In case of bad scope, fail the job early on.
    * WebProcess/Storage/WebSWClientConnection.cpp:
    (WebKit::WebSWClientConnection::scheduleJobInServer):
    Remove the RELEASE_ASSERT from now since we defend in Network process.
    We will add it back in ServiceWorkerRegistration::getOrCreate as a follow-up.

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256578 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-609-branch/Source/WebKit/ChangeLog (256679 => 256680)


--- branches/safari-609-branch/Source/WebKit/ChangeLog	2020-02-15 03:01:59 UTC (rev 256679)
+++ branches/safari-609-branch/Source/WebKit/ChangeLog	2020-02-15 03:02:02 UTC (rev 256680)
@@ -1,5 +1,40 @@
 2020-02-14  Russell Epstein  <repst...@apple.com>
 
+        Cherry-pick r256578. rdar://problem/59447009
+
+    Protect WebSWServerConnection::scheduleJobInServer from bad scopeURL
+    https://bugs.webkit.org/show_bug.cgi?id=207722
+    
+    Reviewed by Chris Dumez.
+    
+    * NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
+    (WebKit::WebSWServerConnection::scheduleJobInServer):
+    In case of bad scope, fail the job early on.
+    * WebProcess/Storage/WebSWClientConnection.cpp:
+    (WebKit::WebSWClientConnection::scheduleJobInServer):
+    Remove the RELEASE_ASSERT from now since we defend in Network process.
+    We will add it back in ServiceWorkerRegistration::getOrCreate as a follow-up.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2020-02-13  Youenn Fablet  <you...@apple.com>
+
+            Protect WebSWServerConnection::scheduleJobInServer from bad scopeURL
+            https://bugs.webkit.org/show_bug.cgi?id=207722
+
+            Reviewed by Chris Dumez.
+
+            * NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
+            (WebKit::WebSWServerConnection::scheduleJobInServer):
+            In case of bad scope, fail the job early on.
+            * WebProcess/Storage/WebSWClientConnection.cpp:
+            (WebKit::WebSWClientConnection::scheduleJobInServer):
+            Remove the RELEASE_ASSERT from now since we defend in Network process.
+            We will add it back in ServiceWorkerRegistration::getOrCreate as a follow-up.
+
+2020-02-14  Russell Epstein  <repst...@apple.com>
+
         Cherry-pick r256452. rdar://problem/59446979
 
     Pages that trigger a redirect will sometimes be left blank

Modified: branches/safari-609-branch/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp (256679 => 256680)


--- branches/safari-609-branch/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp	2020-02-15 03:01:59 UTC (rev 256679)
+++ branches/safari-609-branch/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp	2020-02-15 03:02:02 UTC (rev 256680)
@@ -272,6 +272,12 @@
 
 void WebSWServerConnection::scheduleJobInServer(ServiceWorkerJobData&& jobData)
 {
+    ASSERT(!jobData.scopeURL.isNull());
+    if (jobData.scopeURL.isNull()) {
+        rejectJobInClient(jobData.identifier().jobIdentifier, ExceptionData { InvalidStateError, "Scope URL is empty"_s });
+        return;
+    }
+
     SWSERVERCONNECTION_RELEASE_LOG_IF_ALLOWED("Scheduling ServiceWorker job %s in server", jobData.identifier().loggingString().utf8().data());
     ASSERT(identifier() == jobData.connectionIdentifier());
 

Modified: branches/safari-609-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp (256679 => 256680)


--- branches/safari-609-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp	2020-02-15 03:01:59 UTC (rev 256679)
+++ branches/safari-609-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp	2020-02-15 03:02:02 UTC (rev 256680)
@@ -73,7 +73,6 @@
 
 void WebSWClientConnection::scheduleJobInServer(const ServiceWorkerJobData& jobData)
 {
-    RELEASE_ASSERT(!jobData.scopeURL.isNull());
     runOrDelayTaskForImport([this, jobData] {
         send(Messages::WebSWServerConnection::ScheduleJobInServer { jobData });
     });
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to