Changeset 235026 in webkit


Ignore:
Timestamp:
Aug 20, 2018 2:29:01 AM (6 years ago)
Author:
Ms2ger@igalia.com
Message:

[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.
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r235025 r235026  
     12018-08-20  Ms2ger  <Ms2ger@igalia.com>
     2
     3        [SOUP] Check length before calling soup_message_body_append_buffer.
     4        https://bugs.webkit.org/show_bug.cgi?id=176803
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        * platform/gtk/TestExpectations: Enable test.
     9
    1102018-08-20  Rob Buis  <rbuis@igalia.com>
    211
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r234885 r235026  
    12701270webkit.org/b/175575 imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html [ Crash Pass ]
    12711271
    1272 webkit.org/b/176803 http/tests/local/blob/send-hybrid-blob-using-open-panel.html [ Crash ]
    1273 
    12741272# See also webkit.org/b/141699
    12751273webkit.org/b/177534 fast/attachment/attachment-respects-css-size.html [ Crash ImageOnlyFailure ]
  • trunk/Source/WebCore/ChangeLog

    r235025 r235026  
     12018-08-20  Ms2ger  <Ms2ger@igalia.com>
     2
     3        [SOUP] Check length before calling soup_message_body_append_buffer.
     4        https://bugs.webkit.org/show_bug.cgi?id=176803
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        The function has a precondition that the buffer is non-empty.
     9
     10        Test: http/tests/local/blob/send-hybrid-blob-using-open-panel.html
     11
     12        * platform/network/soup/ResourceRequestSoup.cpp:
     13        (WebCore::appendEncodedBlobItemToSoupMessageBody):
     14        (WebCore::ResourceRequest::updateSoupMessageBody const):
     15
    1162018-08-20  Rob Buis  <rbuis@igalia.com>
    217
  • trunk/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp

    r224371 r235026  
    5151
    5252        if (RefPtr<SharedBuffer> buffer = SharedBuffer::createWithContentsOfFile(blobItem.file()->path())) {
     53            if (buffer->isEmpty())
     54                return 0;
     55
    5356            GUniquePtr<SoupBuffer> soupBuffer(buffer->createSoupBuffer(blobItem.offset(), blobItem.length() == BlobDataItem::toEndOfFile ? 0 : blobItem.length()));
    54             soup_message_body_append_buffer(soupMessage->request_body, soupBuffer.get());
     57            if (soupBuffer->length)
     58                soup_message_body_append_buffer(soupMessage->request_body, soupBuffer.get());
    5559            return soupBuffer->length;
    5660        }
     
    7882        case FormDataElement::Type::EncodedFile:
    7983            if (RefPtr<SharedBuffer> buffer = SharedBuffer::createWithContentsOfFile(element.m_filename)) {
     84                if (buffer->isEmpty())
     85                    break;
     86
    8087                GUniquePtr<SoupBuffer> soupBuffer(buffer->createSoupBuffer());
    8188                bodySize += buffer->size();
    82                 soup_message_body_append_buffer(soupMessage->request_body, soupBuffer.get());
     89                if (soupBuffer->length)
     90                    soup_message_body_append_buffer(soupMessage->request_body, soupBuffer.get());
    8391            }
    8492            break;
Note: See TracChangeset for help on using the changeset viewer.