Changeset 257222 in webkit


Ignore:
Timestamp:
Feb 24, 2020 11:01:53 AM (4 years ago)
Author:
youenn@apple.com
Message:

Protect WebProcessPool from null weak pointers in m_serviceWorkerProcesses map
https://bugs.webkit.org/show_bug.cgi?id=208143
rdar://problem/58285589

Reviewed by Alex Christensen.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::updateServiceWorkerUserAgent):
(WebKit::WebProcessPool::updateProcessAssertions):
When iterating through the map, make sure it does not have a null entry.

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r257218 r257222  
     12020-02-24  Youenn Fablet  <youenn@apple.com>
     2
     3        Protect WebProcessPool from null weak pointers in m_serviceWorkerProcesses map
     4        https://bugs.webkit.org/show_bug.cgi?id=208143
     5        rdar://problem/58285589
     6
     7        Reviewed by Alex Christensen.
     8
     9        * UIProcess/WebProcessPool.cpp:
     10        (WebKit::WebProcessPool::createWebPage):
     11        (WebKit::WebProcessPool::updateServiceWorkerUserAgent):
     12        (WebKit::WebProcessPool::updateProcessAssertions):
     13        When iterating through the map, make sure it does not have a null entry.
     14
    1152020-02-24  Wenson Hsieh  <wenson_hsieh@apple.com>
    216
  • trunk/Source/WebKit/UIProcess/WebProcessPool.cpp

    r256967 r257222  
    12731273    if (!m_serviceWorkerPreferences) {
    12741274        m_serviceWorkerPreferences = page->preferencesStore();
    1275         for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values())
    1276             serviceWorkerProcess->updateServiceWorkerPreferencesStore(*m_serviceWorkerPreferences);
     1275        for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values()) {
     1276            if (serviceWorkerProcess)
     1277                serviceWorkerProcess->updateServiceWorkerPreferencesStore(*m_serviceWorkerPreferences);
     1278        }
    12771279    }
    12781280    if (userContentController)
     
    13041306        return;
    13051307    m_serviceWorkerUserAgent = userAgent;
    1306     for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values())
    1307         serviceWorkerProcess->setServiceWorkerUserAgent(m_serviceWorkerUserAgent);
     1308    for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values()) {
     1309        if (serviceWorkerProcess)
     1310            serviceWorkerProcess->setServiceWorkerUserAgent(m_serviceWorkerUserAgent);
     1311    }
    13081312}
    13091313#endif
     
    21082112            return;
    21092113#if ENABLE(SERVICE_WORKER)
    2110         for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values())
    2111             serviceWorkerProcess->updateServiceWorkerProcessAssertion();
     2114        for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values()) {
     2115            if (serviceWorkerProcess)
     2116                serviceWorkerProcess->updateServiceWorkerProcessAssertion();
     2117        }
    21122118#endif
    21132119    });
Note: See TracChangeset for help on using the changeset viewer.