diff options
author | Hal Canary <halcanary@google.com> | 2017-02-27 09:59:39 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-02-27 15:39:04 +0000 |
commit | ab8e02a4dee79fc4300c5eec0fbbc44d07f433d3 (patch) | |
tree | f30cb8b1b73ff87068548d1cf8d1ab2702120edc /src/effects/gradients | |
parent | cb79393e88ecfe2cc21d0f6c3bbea0436b0bacb7 (diff) |
SkGradientShader: Fix multi-byte-read-stack-use-after-scope
BUG=chromium:694098
Change-Id: I9dfd61d1eed123fce33acf55f6f68e80ac41da25
Reviewed-on: https://skia-review.googlesource.com/8985
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Diffstat (limited to 'src/effects/gradients')
-rw-r--r-- | src/effects/gradients/SkGradientShader.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/effects/gradients/SkGradientShader.cpp b/src/effects/gradients/SkGradientShader.cpp index adb94960dc..32189c57ad 100644 --- a/src/effects/gradients/SkGradientShader.cpp +++ b/src/effects/gradients/SkGradientShader.cpp @@ -763,9 +763,11 @@ void SkGradientShaderBase::commonAsAGradient(GradientInfo* info, bool flipGrad) if (info->fColorCount >= fColorCount) { SkColor* colorLoc; Rec* recLoc; + SkAutoSTArray<8, SkColor> colorStorage; + SkAutoSTArray<8, Rec> recStorage; if (flipGrad && (info->fColors || info->fColorOffsets)) { - SkAutoSTArray<8, SkColor> colorStorage(fColorCount); - SkAutoSTArray<8, Rec> recStorage(fColorCount); + colorStorage.reset(fColorCount); + recStorage.reset(fColorCount); colorLoc = colorStorage.get(); recLoc = recStorage.get(); FlipGradientColors(colorLoc, recLoc, fOrigColors, fRecs, fColorCount); |