Changeset 256680 in webkit


Ignore:
Timestamp:
Feb 14, 2020 7:02:02 PM (4 years ago)
Author:
Russell Epstein
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

Location:
branches/safari-609-branch/Source/WebKit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-609-branch/Source/WebKit/ChangeLog

    r256676 r256680  
     12020-02-14  Russell Epstein  <repstein@apple.com>
     2
     3        Cherry-pick r256578. rdar://problem/59447009
     4
     5    Protect WebSWServerConnection::scheduleJobInServer from bad scopeURL
     6    https://bugs.webkit.org/show_bug.cgi?id=207722
     7   
     8    Reviewed by Chris Dumez.
     9   
     10    * NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
     11    (WebKit::WebSWServerConnection::scheduleJobInServer):
     12    In case of bad scope, fail the job early on.
     13    * WebProcess/Storage/WebSWClientConnection.cpp:
     14    (WebKit::WebSWClientConnection::scheduleJobInServer):
     15    Remove the RELEASE_ASSERT from now since we defend in Network process.
     16    We will add it back in ServiceWorkerRegistration::getOrCreate as a follow-up.
     17   
     18   
     19    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     20
     21    2020-02-13  Youenn Fablet  <youenn@apple.com>
     22
     23            Protect WebSWServerConnection::scheduleJobInServer from bad scopeURL
     24            https://bugs.webkit.org/show_bug.cgi?id=207722
     25
     26            Reviewed by Chris Dumez.
     27
     28            * NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
     29            (WebKit::WebSWServerConnection::scheduleJobInServer):
     30            In case of bad scope, fail the job early on.
     31            * WebProcess/Storage/WebSWClientConnection.cpp:
     32            (WebKit::WebSWClientConnection::scheduleJobInServer):
     33            Remove the RELEASE_ASSERT from now since we defend in Network process.
     34            We will add it back in ServiceWorkerRegistration::getOrCreate as a follow-up.
     35
    1362020-02-14  Russell Epstein  <repstein@apple.com>
    237
  • branches/safari-609-branch/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp

    r255719 r256680  
    273273void WebSWServerConnection::scheduleJobInServer(ServiceWorkerJobData&& jobData)
    274274{
     275    ASSERT(!jobData.scopeURL.isNull());
     276    if (jobData.scopeURL.isNull()) {
     277        rejectJobInClient(jobData.identifier().jobIdentifier, ExceptionData { InvalidStateError, "Scope URL is empty"_s });
     278        return;
     279    }
     280
    275281    SWSERVERCONNECTION_RELEASE_LOG_IF_ALLOWED("Scheduling ServiceWorker job %s in server", jobData.identifier().loggingString().utf8().data());
    276282    ASSERT(identifier() == jobData.connectionIdentifier());
  • branches/safari-609-branch/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp

    r253898 r256680  
    7474void WebSWClientConnection::scheduleJobInServer(const ServiceWorkerJobData& jobData)
    7575{
    76     RELEASE_ASSERT(!jobData.scopeURL.isNull());
    7776    runOrDelayTaskForImport([this, jobData] {
    7877        send(Messages::WebSWServerConnection::ScheduleJobInServer { jobData });
Note: See TracChangeset for help on using the changeset viewer.