Title: [261527] branches/safari-609-branch/Source/WebKit
Revision
261527
Author
[email protected]
Date
2020-05-11 17:22:18 -0700 (Mon, 11 May 2020)

Log Message

Cherry-pick r258675. rdar://problem/62978870

    WebCoreArgumentCoders should check bufferIsLargeEnoughToContain before allocating buffers
    https://bugs.webkit.org/show_bug.cgi?id=209219

    Reviewed by Darin Adler.

    * Shared/WebCoreArgumentCoders.cpp:
    (IPC::decodeSharedBuffer): Added checking of bufferIsLargeEnoughToContain.
    (IPC::decodeTypesAndData): Don't allocate a buffer with the
    decoded size. bufferIsLargeEnoughToContain can't be used in this
    case because SharedBuffer is encoded as variable length data.
    Instead, append items one-by-one.

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258675 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-609-branch/Source/WebKit/ChangeLog (261526 => 261527)


--- branches/safari-609-branch/Source/WebKit/ChangeLog	2020-05-12 00:22:15 UTC (rev 261526)
+++ branches/safari-609-branch/Source/WebKit/ChangeLog	2020-05-12 00:22:18 UTC (rev 261527)
@@ -1,3 +1,35 @@
+2020-05-11  Alan Coon  <[email protected]>
+
+        Cherry-pick r258675. rdar://problem/62978870
+
+    WebCoreArgumentCoders should check bufferIsLargeEnoughToContain before allocating buffers
+    https://bugs.webkit.org/show_bug.cgi?id=209219
+    
+    Reviewed by Darin Adler.
+    
+    * Shared/WebCoreArgumentCoders.cpp:
+    (IPC::decodeSharedBuffer): Added checking of bufferIsLargeEnoughToContain.
+    (IPC::decodeTypesAndData): Don't allocate a buffer with the
+    decoded size. bufferIsLargeEnoughToContain can't be used in this
+    case because SharedBuffer is encoded as variable length data.
+    Instead, append items one-by-one.
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258675 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2020-03-18  Fujii Hironori  <[email protected]>
+
+            WebCoreArgumentCoders should check bufferIsLargeEnoughToContain before allocating buffers
+            https://bugs.webkit.org/show_bug.cgi?id=209219
+
+            Reviewed by Darin Adler.
+
+            * Shared/WebCoreArgumentCoders.cpp:
+            (IPC::decodeSharedBuffer): Added checking of bufferIsLargeEnoughToContain.
+            (IPC::decodeTypesAndData): Don't allocate a buffer with the
+            decoded size. bufferIsLargeEnoughToContain can't be used in this
+            case because SharedBuffer is encoded as variable length data.
+            Instead, append items one-by-one.
+
 2020-05-07  Russell Epstein  <[email protected]>
 
         Cherry-pick r261024. rdar://problem/62978260

Modified: branches/safari-609-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp (261526 => 261527)


--- branches/safari-609-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp	2020-05-12 00:22:15 UTC (rev 261526)
+++ branches/safari-609-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp	2020-05-12 00:22:18 UTC (rev 261527)
@@ -175,9 +175,12 @@
 
     ASSERT(dataSize == types.size());
 
-    data.resize(dataSize);
-    for (auto& buffer : data)
-        decodeSharedBuffer(decoder, buffer);
+    for (uint64_t i = 0; i < dataSize; i++) {
+        RefPtr<SharedBuffer> buffer;
+        if (!decodeSharedBuffer(decoder, buffer))
+            return false;
+        data.append(WTFMove(buffer));
+    }
 
     return true;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to