diff options
author | Florin Malita <fmalita@chromium.org> | 2018-05-10 09:41:38 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-05-10 15:06:16 +0000 |
commit | c2ea327d14801b4001716619c7d002caa37a1574 (patch) | |
tree | b1118c2c34630c407f641687090a93e004ebc3b4 /src/shaders/gradients/SkGradientShader.cpp | |
parent | 328490c6a1625ce51d0e81688e0c85c79c400d86 (diff) |
Validate readByteArrayAsData size
Check that the reader has enough data before attempting to allocate the
buffer.
Also update to return nullptr on read failures.
Change-Id: Ia1ea8f611bad95cf3a4493b12582ac3fa7c2b00f
Reviewed-on: https://skia-review.googlesource.com/127129
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'src/shaders/gradients/SkGradientShader.cpp')
-rw-r--r-- | src/shaders/gradients/SkGradientShader.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/shaders/gradients/SkGradientShader.cpp b/src/shaders/gradients/SkGradientShader.cpp index f61bb7c2d4..7f597cbac2 100644 --- a/src/shaders/gradients/SkGradientShader.cpp +++ b/src/shaders/gradients/SkGradientShader.cpp @@ -102,7 +102,7 @@ bool SkGradientShaderBase::DescriptorScope::unflatten(SkReadBuffer& buffer) { if (SkToBool(flags & kHasColorSpace_GSF)) { sk_sp<SkData> data = buffer.readByteArrayAsData(); - fColorSpace = SkColorSpace::Deserialize(data->data(), data->size()); + fColorSpace = data ? SkColorSpace::Deserialize(data->data(), data->size()) : nullptr; } else { fColorSpace = nullptr; } |