Title: [259167] trunk/Source/WebKit
Revision
259167
Author
[email protected]
Date
2020-03-28 19:50:19 -0700 (Sat, 28 Mar 2020)

Log Message

Use-after-move in NetworkProcess::addServiceWorkerSession()
<https://webkit.org/b/209710>
<rdar://problem/61017857>

Reviewed by Darin Adler.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::addServiceWorkerSession):
- Use `addResult.iterator->value.databasePath` instead of the
  `serviceWorkerRegistrationDirectory` parameter to fix the
  use-after-move.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (259166 => 259167)


--- trunk/Source/WebKit/ChangeLog	2020-03-29 02:05:40 UTC (rev 259166)
+++ trunk/Source/WebKit/ChangeLog	2020-03-29 02:50:19 UTC (rev 259167)
@@ -1,3 +1,17 @@
+2020-03-28  David Kilzer  <[email protected]>
+
+        Use-after-move in NetworkProcess::addServiceWorkerSession()
+        <https://webkit.org/b/209710>
+        <rdar://problem/61017857>
+
+        Reviewed by Darin Adler.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::addServiceWorkerSession):
+        - Use `addResult.iterator->value.databasePath` instead of the
+          `serviceWorkerRegistrationDirectory` parameter to fix the
+          use-after-move.
+
 2020-03-28  Chris Dumez  <[email protected]>
 
         [iOS] Delay process suspension for a while after loading an app link

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (259166 => 259167)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2020-03-29 02:05:40 UTC (rev 259166)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2020-03-29 02:50:19 UTC (rev 259167)
@@ -2486,8 +2486,8 @@
     auto addResult = m_serviceWorkerInfo.add(sessionID, WTFMove(info));
     if (addResult.isNewEntry) {
         SandboxExtension::consumePermanently(handle);
-        if (!serviceWorkerRegistrationDirectory.isEmpty())
-            postStorageTask(createCrossThreadTask(*this, &NetworkProcess::ensurePathExists, serviceWorkerRegistrationDirectory));
+        if (!addResult.iterator->value.databasePath.isEmpty())
+            postStorageTask(createCrossThreadTask(*this, &NetworkProcess::ensurePathExists, addResult.iterator->value.databasePath));
     }
 }
 #endif // ENABLE(SERVICE_WORKER)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to