aboutsummaryrefslogtreecommitdiffhomepage
path: root/fuzz
diff options
context:
space:
mode:
authorGravatar Hal Canary <halcanary@google.com>2017-03-02 15:27:23 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-03-02 21:03:35 +0000
commit68b9b57638d3c27587c21aefef7c36c4ed4e78e5 (patch)
treef42344be2422384757c5082c7e552b1705b32f0f /fuzz
parentcd667b6e581b5f3060caf7a959ac6ef50fd33266 (diff)
FuzzCanvas: fix drawVertices BUG=skia:6314
Change-Id: I5f55a0fc03d4fe780b35529df9eeb385639501f2 Reviewed-on: https://skia-review.googlesource.com/9173 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
Diffstat (limited to 'fuzz')
-rw-r--r--fuzz/FuzzCanvas.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/fuzz/FuzzCanvas.cpp b/fuzz/FuzzCanvas.cpp
index eaa1ecb320..0dec81eb5e 100644
--- a/fuzz/FuzzCanvas.cpp
+++ b/fuzz/FuzzCanvas.cpp
@@ -1097,7 +1097,6 @@ void fuzz_canvas(Fuzz* fuzz, SkCanvas* canvas, int depth = 4) {
SkPoint vertices[kMaxCount];
SkPoint texs[kMaxCount];
SkColor colors[kMaxCount];
- uint16_t indices[kMaxCount];
fuzz->nextRange(&vertexCount, 3, kMaxCount);
fuzz->nextN(vertices, vertexCount);
bool useTexs, useColors;
@@ -1109,8 +1108,12 @@ void fuzz_canvas(Fuzz* fuzz, SkCanvas* canvas, int depth = 4) {
fuzz->nextN(colors, vertexCount);
}
int indexCount = 0;
+ uint16_t indices[kMaxCount * 2];
if (make_bool(fuzz)) {
- fuzz->nextRange(&indexCount, 3, kMaxCount);
+ fuzz->nextRange(&indexCount, vertexCount, vertexCount + kMaxCount);
+ for (int i = 0; i < indexCount; ++i) {
+ fuzz->nextRange(&indices[i], 0, vertexCount - 1);
+ }
}
canvas->drawVertices(vertexMode, vertexCount, vertices,
useTexs ? texs : nullptr,