Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
FuzzTextBlobDeserialize.cpp
Go to the documentation of this file.
1/*
2 * Copyright 2018 Google, LLC
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
14
15void FuzzTextBlobDeserialize(const uint8_t *data, size_t size) {
16 SkReadBuffer buf(data, size);
17 auto tb = SkTextBlobPriv::MakeFromBuffer(buf);
18 if (!buf.isValid()) {
19 return;
20 }
21
23 if (!s) {
24 // May return nullptr in memory-constrained fuzzing environments
25 return;
26 }
27 s->getCanvas()->drawTextBlob(tb, 200, 200, SkPaint());
28}
29
30#if defined(SK_BUILD_FOR_LIBFUZZER)
31extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
32 if (size > 1024) {
33 return 0;
34 }
36 FuzzTextBlobDeserialize(data, size);
37 return 0;
38}
39#endif
void FuzzTextBlobDeserialize(const uint8_t *data, size_t size)
bool isValid() const
static sk_sp< SkTextBlob > MakeFromBuffer(SkReadBuffer &)
int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
struct MyStruct s
SK_API sk_sp< SkSurface > Raster(const SkImageInfo &imageInfo, size_t rowBytes, const SkSurfaceProps *surfaceProps)
void UsePortableFontMgr()
static SkImageInfo MakeN32Premul(int width, int height)