Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
FuzzImage.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
13
14bool FuzzImageDecode(const uint8_t *data, size_t size) {
16 if (nullptr == img.get()) {
17 return false;
18 }
19
21 if (!s) {
22 // May return nullptr in memory-constrained fuzzing environments
23 return false;
24 }
25
26 s->getCanvas()->drawImage(img, 0, 0);
27 return true;
28}
29
30#if defined(SK_BUILD_FOR_LIBFUZZER)
31extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
32 if (size > 10240) {
33 return 0;
34 }
35 FuzzImageDecode(data, size);
36 return 0;
37}
38#endif
bool FuzzImageDecode(const uint8_t *data, size_t size)
Definition FuzzImage.cpp:14
static sk_sp< SkData > MakeWithoutCopy(const void *data, size_t length)
Definition SkData.h:116
int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
struct MyStruct s
SK_API sk_sp< SkImage > DeferredFromEncodedData(sk_sp< SkData > encoded, std::optional< SkAlphaType > alphaType=std::nullopt)
SK_API sk_sp< SkSurface > Raster(const SkImageInfo &imageInfo, size_t rowBytes, const SkSurfaceProps *surfaceProps)
static SkImageInfo MakeN32Premul(int width, int height)