Title: [235077] releases/WebKitGTK/webkit-2.22
Revision
235077
Author
carlo...@webkit.org
Date
2018-08-20 07:08:41 -0700 (Mon, 20 Aug 2018)

Log Message

Merge r235026 - [SOUP] Check length before calling soup_message_body_append_buffer.
https://bugs.webkit.org/show_bug.cgi?id=176803

Reviewed by Carlos Garcia Campos.

Source/WebCore:

The function has a precondition that the buffer is non-empty.

Test: http/tests/local/blob/send-hybrid-blob-using-open-panel.html

* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::appendEncodedBlobItemToSoupMessageBody):
(WebCore::ResourceRequest::updateSoupMessageBody const):

LayoutTests:

* platform/gtk/TestExpectations: Enable test.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog (235076 => 235077)


--- releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-08-20 14:08:33 UTC (rev 235076)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-08-20 14:08:41 UTC (rev 235077)
@@ -1,3 +1,12 @@
+2018-08-20  Ms2ger  <ms2...@igalia.com>
+
+        [SOUP] Check length before calling soup_message_body_append_buffer.
+        https://bugs.webkit.org/show_bug.cgi?id=176803
+
+        Reviewed by Carlos Garcia Campos.
+
+        * platform/gtk/TestExpectations: Enable test.
+
 2018-08-20  Rob Buis  <rb...@igalia.com>
 
         Relax Request constructor around referrers

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/platform/gtk/TestExpectations (235076 => 235077)


--- releases/WebKitGTK/webkit-2.22/LayoutTests/platform/gtk/TestExpectations	2018-08-20 14:08:33 UTC (rev 235076)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/platform/gtk/TestExpectations	2018-08-20 14:08:41 UTC (rev 235077)
@@ -1269,8 +1269,6 @@
 
 webkit.org/b/175575 imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html [ Crash Pass ]
 
-webkit.org/b/176803 http/tests/local/blob/send-hybrid-blob-using-open-panel.html [ Crash ]
-
 # See also webkit.org/b/141699
 webkit.org/b/177534 fast/attachment/attachment-respects-css-size.html [ Crash ImageOnlyFailure ]
 # See also webkit.org/b/163528 Threaded compositor failures caused by one of r203496, r203497, or r203498

Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog (235076 => 235077)


--- releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog	2018-08-20 14:08:33 UTC (rev 235076)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog	2018-08-20 14:08:41 UTC (rev 235077)
@@ -1,3 +1,18 @@
+2018-08-20  Ms2ger  <ms2...@igalia.com>
+
+        [SOUP] Check length before calling soup_message_body_append_buffer.
+        https://bugs.webkit.org/show_bug.cgi?id=176803
+
+        Reviewed by Carlos Garcia Campos.
+
+        The function has a precondition that the buffer is non-empty.
+
+        Test: http/tests/local/blob/send-hybrid-blob-using-open-panel.html
+
+        * platform/network/soup/ResourceRequestSoup.cpp:
+        (WebCore::appendEncodedBlobItemToSoupMessageBody):
+        (WebCore::ResourceRequest::updateSoupMessageBody const):
+
 2018-08-20  Rob Buis  <rb...@igalia.com>
 
         Relax Request constructor around referrers

Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp (235076 => 235077)


--- releases/WebKitGTK/webkit-2.22/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp	2018-08-20 14:08:33 UTC (rev 235076)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp	2018-08-20 14:08:41 UTC (rev 235077)
@@ -50,8 +50,12 @@
             return 0;
 
         if (RefPtr<SharedBuffer> buffer = SharedBuffer::createWithContentsOfFile(blobItem.file()->path())) {
+            if (buffer->isEmpty())
+                return 0;
+
             GUniquePtr<SoupBuffer> soupBuffer(buffer->createSoupBuffer(blobItem.offset(), blobItem.length() == BlobDataItem::toEndOfFile ? 0 : blobItem.length()));
-            soup_message_body_append_buffer(soupMessage->request_body, soupBuffer.get());
+            if (soupBuffer->length)
+                soup_message_body_append_buffer(soupMessage->request_body, soupBuffer.get());
             return soupBuffer->length;
         }
         break;
@@ -77,9 +81,13 @@
             break;
         case FormDataElement::Type::EncodedFile:
             if (RefPtr<SharedBuffer> buffer = SharedBuffer::createWithContentsOfFile(element.m_filename)) {
+                if (buffer->isEmpty())
+                    break;
+
                 GUniquePtr<SoupBuffer> soupBuffer(buffer->createSoupBuffer());
                 bodySize += buffer->size();
-                soup_message_body_append_buffer(soupMessage->request_body, soupBuffer.get());
+                if (soupBuffer->length)
+                    soup_message_body_append_buffer(soupMessage->request_body, soupBuffer.get());
             }
             break;
         case FormDataElement::Type::EncodedBlob:
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to