Title: [256470] trunk/Source/WebCore
Revision
256470
Author
[email protected]
Date
2020-02-12 13:46:36 -0800 (Wed, 12 Feb 2020)

Log Message

ServiceWorkerContainer::jobResolvedWithRegistration scopeExit should capture all lambda parameters by value
https://bugs.webkit.org/show_bug.cgi?id=207657

Reviewed by Chris Dumez.

shouldNotifyWhenResolved is captured by reference in the notifyIfExitEarly ScopeExit lambda.
The ScopeExit is not always called synchronously so it is unsafe to capture values by reference here.

* workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (256469 => 256470)


--- trunk/Source/WebCore/ChangeLog	2020-02-12 21:35:22 UTC (rev 256469)
+++ trunk/Source/WebCore/ChangeLog	2020-02-12 21:46:36 UTC (rev 256470)
@@ -1,3 +1,16 @@
+2020-02-12  Youenn Fablet  <[email protected]>
+
+        ServiceWorkerContainer::jobResolvedWithRegistration scopeExit should capture all lambda parameters by value
+        https://bugs.webkit.org/show_bug.cgi?id=207657
+
+        Reviewed by Chris Dumez.
+
+        shouldNotifyWhenResolved is captured by reference in the notifyIfExitEarly ScopeExit lambda.
+        The ScopeExit is not always called synchronously so it is unsafe to capture values by reference here.
+
+        * workers/service/ServiceWorkerContainer.cpp:
+        (WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
+
 2020-02-12  Zalan Bujtas  <[email protected]>
 
         [LFC][IFC] Do not create Display::Boxes for anonymous inline text boxes

Modified: trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp (256469 => 256470)


--- trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp	2020-02-12 21:35:22 UTC (rev 256469)
+++ trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp	2020-02-12 21:46:36 UTC (rev 256470)
@@ -383,7 +383,7 @@
         destroyJob(job);
     });
 
-    auto notifyIfExitEarly = WTF::makeScopeExit([this, protectedThis = makeRef(*this), key = data.key, &shouldNotifyWhenResolved] {
+    auto notifyIfExitEarly = WTF::makeScopeExit([this, protectedThis = makeRef(*this), key = data.key, shouldNotifyWhenResolved] {
         if (shouldNotifyWhenResolved == ShouldNotifyWhenResolved::Yes)
             notifyRegistrationIsSettled(key);
     });
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to