FuzzCanvas: fix text generation BUG=skia:6299
authorHal Canary <halcanary@google.com>
Wed, 1 Mar 2017 20:40:46 +0000 (15:40 -0500)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Wed, 1 Mar 2017 21:22:19 +0000 (21:22 +0000)
Change-Id: Ia87aee1e21bb3429d9f0bab0943190b48e0d76f2
Reviewed-on: https://skia-review.googlesource.com/9122
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

fuzz/FuzzCanvas.cpp

index 5ab94c9..eaa1ecb 100644 (file)
@@ -549,19 +549,22 @@ SkTDArray<uint8_t> fuzz_text(Fuzz* fuzz, const SkPaint& paint) {
                     ptr += SkUTF8_FromUnichar(buffer[j], ptr);
                 }
             }
+            break;
         case SkPaint::kUTF16_TextEncoding:
             {
                 size_t utf16len = 0;
                 for (int j = 0; j < length; ++j) {
                     utf16len += SkUTF16_FromUnichar(buffer[j]);
                 }
-                uint16_t* ptr = (uint16_t*)array.append(utf16len);
+                uint16_t* ptr = (uint16_t*)array.append(utf16len * sizeof(uint16_t));
                 for (int j = 0; j < length; ++j) {
                     ptr += SkUTF16_FromUnichar(buffer[j], ptr);
                 }
             }
+            break;
         case SkPaint::kUTF32_TextEncoding:
             memcpy(array.append(length * sizeof(SkUnichar)), buffer, length * sizeof(SkUnichar));
+            break;
         default:
            SkASSERT(false);
     }