[skottie] Avoid null ptr deref in motion tile effect

If the input tile is infinite, the gradient shader instantiation fails
(degenerate endpoints).  Just ingnore the phase in that case.

Bug: oss-fuzz:35903
Change-Id: Ib78043a2157b0eaaf6f5957ae831c134be2a4e30
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426396
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
This commit is contained in:
Florin Malita 2021-07-09 09:03:08 -04:00 committed by Skia Commit-Bot
parent 14a77418e8
commit a0e44d7cf5

View File

@ -86,7 +86,7 @@ protected:
auto layer_shader = fLayerPicture->makeShader(tm, tm, SkFilterMode::kLinear,
&layerShaderMatrix, nullptr);
if (fPhase) {
if (fPhase && tile.isFinite()) {
// To implement AE phase semantics, we construct a mask shader for the pass-through
// rows/columns. We then draw the layer content through this mask, and then again
// through the inverse mask with a phase shift.