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>
diff --git a/src/effects/gradients/SkGradientShader.cpp b/src/effects/gradients/SkGradientShader.cpp
index adb9496..32189c5 100644
--- a/src/effects/gradients/SkGradientShader.cpp
+++ b/src/effects/gradients/SkGradientShader.cpp
@@ -763,9 +763,11 @@
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);