Title: [158340] trunk/Source/WebKit2
Revision
158340
Author
m...@apple.com
Date
2013-10-30 20:37:00 -0700 (Wed, 30 Oct 2013)

Log Message

Fixed a potential race condition around the initializtion of WKObject’s target.

Reviewed by Mark Rowe.

* Shared/Cocoa/WKObject.mm:
(initializeTargetIfNeeded): Removed the early return if _target is non-nil. As Mark pointed
out, when stores are reordered relative to other stores, it is possible for the early return
to occur while the object _target is pointing to is not yet valid.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (158339 => 158340)


--- trunk/Source/WebKit2/ChangeLog	2013-10-31 03:07:58 UTC (rev 158339)
+++ trunk/Source/WebKit2/ChangeLog	2013-10-31 03:37:00 UTC (rev 158340)
@@ -1,3 +1,14 @@
+2013-10-30  Dan Bernstein  <m...@apple.com>
+
+        Fixed a potential race condition around the initializtion of WKObject’s target.
+
+        Reviewed by Mark Rowe.
+
+        * Shared/Cocoa/WKObject.mm:
+        (initializeTargetIfNeeded): Removed the early return if _target is non-nil. As Mark pointed
+        out, when stores are reordered relative to other stores, it is possible for the early return
+        to occur while the object _target is pointing to is not yet valid.
+
 2013-10-30  Ryosuke Niwa  <rn...@webkit.org>
 
         Remove code for Mac Lion

Modified: trunk/Source/WebKit2/Shared/Cocoa/WKObject.mm (158339 => 158340)


--- trunk/Source/WebKit2/Shared/Cocoa/WKObject.mm	2013-10-31 03:07:58 UTC (rev 158339)
+++ trunk/Source/WebKit2/Shared/Cocoa/WKObject.mm	2013-10-31 03:37:00 UTC (rev 158340)
@@ -47,9 +47,6 @@
 
 static inline void initializeTargetIfNeeded(WKObject *self)
 {
-    if (self->_target)
-        return;
-
     dispatch_once(&self->_targetInitializationToken, ^{
         self->_target = [self _web_createTarget];
     });
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to