Changeset 271441 in webkit


Ignore:
Timestamp:
Jan 13, 2021 10:40:57 AM (3 years ago)
Author:
commit-queue@webkit.org
Message:

Null check native image in createBitmapImageAfterScalingIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=220348

Patch by Rob Buis <rbuis@igalia.com> on 2021-01-13
Reviewed by Alex Christensen.

Source/WebCore:

Null check native image in createBitmapImageAfterScalingIfNeeded
as well as the result of sinkIntoImage.

Test: fast/css/border-image-scale-crash.html

  • platform/graphics/GradientImage.cpp:

(WebCore::GradientImage::drawPattern):

  • platform/graphics/cg/ImageBufferCGBackend.cpp:

(WebCore::createBitmapImageAfterScalingIfNeeded):

LayoutTests:

Add test for border-image with large scale factor.

  • fast/css/border-image-scale-crash-expected.txt: Added.
  • fast/css/border-image-scale-crash.html: Added.
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r271440 r271441  
     12021-01-13  Rob Buis  <rbuis@igalia.com>
     2
     3        Null check native image in createBitmapImageAfterScalingIfNeeded
     4        https://bugs.webkit.org/show_bug.cgi?id=220348
     5
     6        Reviewed by Alex Christensen.
     7
     8        Add test for border-image with large scale factor.
     9
     10        * fast/css/border-image-scale-crash-expected.txt: Added.
     11        * fast/css/border-image-scale-crash.html: Added.
     12
    1132021-01-13  Commit Queue  <commit-queue@webkit.org>
    214
  • trunk/Source/WebCore/ChangeLog

    r271440 r271441  
     12021-01-13  Rob Buis  <rbuis@igalia.com>
     2
     3        Null check native image in createBitmapImageAfterScalingIfNeeded
     4        https://bugs.webkit.org/show_bug.cgi?id=220348
     5
     6        Reviewed by Alex Christensen.
     7
     8        Null check native image in createBitmapImageAfterScalingIfNeeded
     9        as well as the result of sinkIntoImage.
     10
     11        Test: fast/css/border-image-scale-crash.html
     12
     13        * platform/graphics/GradientImage.cpp:
     14        (WebCore::GradientImage::drawPattern):
     15        * platform/graphics/cg/ImageBufferCGBackend.cpp:
     16        (WebCore::createBitmapImageAfterScalingIfNeeded):
     17
    1182021-01-13  Commit Queue  <commit-queue@webkit.org>
    219
  • trunk/Source/WebCore/platform/graphics/GradientImage.cpp

    r264333 r271441  
    8888
    8989        m_cachedImage = ImageBuffer::sinkIntoImage(WTFMove(imageBuffer), PreserveResolution::Yes);
     90        if (!m_cachedImage)
     91            return;
    9092    }
    9193
  • trunk/Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.cpp

    r270458 r271441  
    9393static RefPtr<Image> createBitmapImageAfterScalingIfNeeded(RefPtr<NativeImage>&& image, const IntSize& logicalSize, const IntSize& backendSize, float resolutionScale, PreserveResolution preserveResolution)
    9494{
     95    if (!image)
     96        return nullptr;
     97
    9598    if (resolutionScale == 1 || preserveResolution == PreserveResolution::Yes)
    9699        image = NativeImage::create(createCroppedImageIfNecessary(image->platformImage().get(), backendSize));
Note: See TracChangeset for help on using the changeset viewer.