Title: [271597] trunk
Revision
271597
Author
[email protected]
Date
2021-01-19 01:07:51 -0800 (Tue, 19 Jan 2021)

Log Message

Null check ResourceRequest IPC decode
https://bugs.webkit.org/show_bug.cgi?id=220400

Patch by Rob Buis <[email protected]> on 2021-01-19
Reviewed by Youenn Fablet.

Source/WebKit:

Null check ResourceRequest IPC decode since
the IPC::decode call can succeed yet but set
the dictionary to null.

Test: ipc/web-authenticator-get-assertion.html

* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<WebCore::ResourceRequest>::decodePlatformData):

LayoutTests:

Add test for this.

* ipc/web-authenticator-get-assertion-expected.txt: Added.
* ipc/web-authenticator-get-assertion.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (271596 => 271597)


--- trunk/LayoutTests/ChangeLog	2021-01-19 04:59:55 UTC (rev 271596)
+++ trunk/LayoutTests/ChangeLog	2021-01-19 09:07:51 UTC (rev 271597)
@@ -1,3 +1,15 @@
+2021-01-19  Rob Buis  <[email protected]>
+
+        Null check ResourceRequest IPC decode
+        https://bugs.webkit.org/show_bug.cgi?id=220400
+
+        Reviewed by Youenn Fablet.
+
+        Add test for this.
+
+        * ipc/web-authenticator-get-assertion-expected.txt: Added.
+        * ipc/web-authenticator-get-assertion.html: Added.
+
 2021-01-18  Lauro Moura  <[email protected]>
 
         [GLIB] Gardening some failures and crashes

Added: trunk/LayoutTests/ipc/web-authenticator-get-assertion-expected.txt (0 => 271597)


--- trunk/LayoutTests/ipc/web-authenticator-get-assertion-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/ipc/web-authenticator-get-assertion-expected.txt	2021-01-19 09:07:51 UTC (rev 271597)
@@ -0,0 +1 @@
+Test passes if it does not crash.

Added: trunk/LayoutTests/ipc/web-authenticator-get-assertion.html (0 => 271597)


--- trunk/LayoutTests/ipc/web-authenticator-get-assertion.html	                        (rev 0)
+++ trunk/LayoutTests/ipc/web-authenticator-get-assertion.html	2021-01-19 09:07:51 UTC (rev 271597)
@@ -0,0 +1,12 @@
+<!DOCTYPE html><!-- webkit-test-runner [ IPCTestingAPIEnabled=true ] -->
+<html>
+<body>
+Test passes if it does not crash.
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+if (window.IPC)
+    IPC.sendMessage('UI', IPC.webPageProxyID, IPC.messages.WebAuthenticatorCoordinatorProxy_GetAssertion.name, [{type: 'uint64_t', value: IPC.frameID}, {type: 'uint64_t', value: IPC.frameID}, {type: 'double', value: 453.75480017156707}, new Uint8Array([242, 32, 251, 155, 232, 78, 109, 31, 95, 69, 230, 204, 180, 223, 143, 117, 37, 60, 58, 234, 166, 206, 166, 206, 203, 85, 208, 103, 123, 14, 238, 123, 249, 177, 191, 157, 19, 241, 74, 52, 240, 127, 62, 78, 131, 232, 254, 248, 252, 14, 151, 233, 194, 221, 116, 119, 116, 242, 86, 137, 172, 196, 222, 14, 141, 153, 71, 241, 156, 147, 252, 0, 244, 202, 250, 224]), {type: 'bool', value: 1}]);
+</script>
+</body>
+</html>

Modified: trunk/Source/WebKit/ChangeLog (271596 => 271597)


--- trunk/Source/WebKit/ChangeLog	2021-01-19 04:59:55 UTC (rev 271596)
+++ trunk/Source/WebKit/ChangeLog	2021-01-19 09:07:51 UTC (rev 271597)
@@ -1,3 +1,19 @@
+2021-01-19  Rob Buis  <[email protected]>
+
+        Null check ResourceRequest IPC decode
+        https://bugs.webkit.org/show_bug.cgi?id=220400
+
+        Reviewed by Youenn Fablet.
+
+        Null check ResourceRequest IPC decode since
+        the IPC::decode call can succeed yet but set
+        the dictionary to null.
+
+        Test: ipc/web-authenticator-get-assertion.html
+
+        * Shared/mac/WebCoreArgumentCodersMac.mm:
+        (IPC::ArgumentCoder<WebCore::ResourceRequest>::decodePlatformData):
+
 2021-01-18  Michael Catanzaro  <[email protected]>
 
         [GTK] Multilib conflicts in gir files

Modified: trunk/Source/WebKit/Shared/mac/WebCoreArgumentCodersMac.mm (271596 => 271597)


--- trunk/Source/WebKit/Shared/mac/WebCoreArgumentCodersMac.mm	2021-01-19 04:59:55 UTC (rev 271596)
+++ trunk/Source/WebKit/Shared/mac/WebCoreArgumentCodersMac.mm	2021-01-19 09:07:51 UTC (rev 271597)
@@ -231,6 +231,9 @@
     if (!IPC::decode(decoder, dictionary))
         return false;
 
+    if (!dictionary)
+        return false;
+
     auto nsURLRequest = createNSURLRequestFromSerializableRepresentation(dictionary.get(), IPC::tokenNullptrTypeRef());
     if (!nsURLRequest)
         return false;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to