Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
fuzz
oss_fuzz
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
8
#include "
include/core/SkCanvas.h
"
9
#include "
include/core/SkPaint.h
"
10
#include "
include/core/SkSurface.h
"
11
#include "
src/core/SkReadBuffer.h
"
12
#include "
src/core/SkTextBlobPriv.h
"
13
#include "
tools/fonts/FontToolUtils.h
"
14
15
void
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
22
auto
s
=
SkSurfaces::Raster
(
SkImageInfo::MakeN32Premul
(128, 128));
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)
31
extern
"C"
int
LLVMFuzzerTestOneInput
(
const
uint8_t *data,
size_t
size) {
32
if
(size > 1024) {
33
return
0;
34
}
35
ToolUtils::UsePortableFontMgr
();
36
FuzzTextBlobDeserialize
(data, size);
37
return
0;
38
}
39
#endif
FontToolUtils.h
FuzzTextBlobDeserialize
void FuzzTextBlobDeserialize(const uint8_t *data, size_t size)
Definition
FuzzTextBlobDeserialize.cpp:15
SkCanvas.h
SkPaint.h
SkReadBuffer.h
SkSurface.h
SkTextBlobPriv.h
SkPaint
Definition
SkPaint.h:44
SkReadBuffer
Definition
SkReadBuffer.h:52
SkReadBuffer::isValid
bool isValid() const
Definition
SkReadBuffer.h:208
SkTextBlobPriv::MakeFromBuffer
static sk_sp< SkTextBlob > MakeFromBuffer(SkReadBuffer &)
Definition
SkTextBlob.cpp:705
LLVMFuzzerTestOneInput
int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
Definition
dart_libfuzzer.cc:85
s
struct MyStruct s
SkSurfaces::Raster
SK_API sk_sp< SkSurface > Raster(const SkImageInfo &imageInfo, size_t rowBytes, const SkSurfaceProps *surfaceProps)
Definition
SkSurface_Raster.cpp:186
ToolUtils::UsePortableFontMgr
void UsePortableFontMgr()
Definition
FontToolUtils.cpp:301
SkImageInfo::MakeN32Premul
static SkImageInfo MakeN32Premul(int width, int height)
Definition
SkImageInfo.cpp:157
Generated on Fri Apr 26 2024 06:15:59 for Flutter Engine by
1.9.8