Title: [259136] trunk/Source/WebKit
Revision
259136
Author
[email protected]
Date
2020-03-27 13:53:53 -0700 (Fri, 27 Mar 2020)

Log Message

NetworkConnectionToWebProcess::registerBlobURLOptionallyFileBacked should validate its parameters
<https://webkit.org/b/209614>
<rdar://problem/60096304>

Reviewed by Alex Christensen.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(NETWORK_PROCESS_MESSAGE_CHECK):
- Define/undef macro for killing WebContent process when an
  invalid IPC message is received.
(WebKit::NetworkConnectionToWebProcess::registerBlobURLOptionallyFileBacked):
- Use NETWORK_PROCESS_MESSAGE_CHECK to validate its parameters.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (259135 => 259136)


--- trunk/Source/WebKit/ChangeLog	2020-03-27 20:33:25 UTC (rev 259135)
+++ trunk/Source/WebKit/ChangeLog	2020-03-27 20:53:53 UTC (rev 259136)
@@ -1,3 +1,18 @@
+2020-03-27  David Kilzer  <[email protected]>
+
+        NetworkConnectionToWebProcess::registerBlobURLOptionallyFileBacked should validate its parameters
+        <https://webkit.org/b/209614>
+        <rdar://problem/60096304>
+
+        Reviewed by Alex Christensen.
+
+        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+        (NETWORK_PROCESS_MESSAGE_CHECK):
+        - Define/undef macro for killing WebContent process when an
+          invalid IPC message is received.
+        (WebKit::NetworkConnectionToWebProcess::registerBlobURLOptionallyFileBacked):
+        - Use NETWORK_PROCESS_MESSAGE_CHECK to validate its parameters.
+
 2020-03-27  Tim Horton  <[email protected]>
 
         Unable to build WebKit with iOS 13.4 SDK

Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (259135 => 259136)


--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp	2020-03-27 20:33:25 UTC (rev 259135)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp	2020-03-27 20:53:53 UTC (rev 259136)
@@ -83,6 +83,7 @@
 #undef RELEASE_LOG_IF_ALLOWED
 #define RELEASE_LOG_IF_ALLOWED(channel, fmt, ...) RELEASE_LOG_IF(m_sessionID.isAlwaysOnLoggingAllowed(), channel, "%p - NetworkConnectionToWebProcess::" fmt, this, ##__VA_ARGS__)
 
+#define NETWORK_PROCESS_MESSAGE_CHECK(assertion) NETWORK_PROCESS_MESSAGE_CHECK_COMPLETION(assertion, (void)0)
 #define NETWORK_PROCESS_MESSAGE_CHECK_COMPLETION(assertion, completion) do { \
     ASSERT(assertion); \
     if (UNLIKELY(!(assertion))) { \
@@ -749,6 +750,8 @@
 
 void NetworkConnectionToWebProcess::registerBlobURLOptionallyFileBacked(const URL& url, const URL& srcURL, const String& fileBackedPath, const String& contentType)
 {
+    NETWORK_PROCESS_MESSAGE_CHECK(!url.isEmpty() && !srcURL.isEmpty() && !fileBackedPath.isEmpty());
+
     auto* session = networkSession();
     if (!session)
         return;
@@ -1117,3 +1120,4 @@
 } // namespace WebKit
 
 #undef NETWORK_PROCESS_MESSAGE_CHECK_COMPLETION
+#undef NETWORK_PROCESS_MESSAGE_CHECK
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to