Coverage Report

Created: 2026-02-09 06:54

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libvips/fuzz/sharpen_fuzzer.cc
Line
Count
Source
1
#include <vips/vips.h>
2
3
extern "C" int
4
LLVMFuzzerInitialize(int *argc, char ***argv)
5
36
{
6
36
  if (VIPS_INIT(*argv[0]))
7
0
    return -1;
8
9
36
  vips_concurrency_set(1);
10
36
  return 0;
11
36
}
12
13
extern "C" int
14
LLVMFuzzerTestOneInput(const guint8 *data, size_t size)
15
454k
{
16
454k
  VipsImage *image, *out;
17
454k
  double d;
18
19
454k
  if (!(image = vips_image_new_from_buffer(data, size, "", nullptr)))
20
171k
    return 0;
21
22
282k
  if (image->Xsize > 100 ||
23
270k
    image->Ysize > 100 ||
24
264k
    image->Bands > 4) {
25
18.0k
    g_object_unref(image);
26
18.0k
    return 0;
27
18.0k
  }
28
29
264k
  if (vips_sharpen(image, &out, nullptr)) {
30
148k
    g_object_unref(image);
31
148k
    return 0;
32
148k
  }
33
34
115k
  vips_avg(out, &d, nullptr);
35
36
115k
  g_object_unref(out);
37
115k
  g_object_unref(image);
38
39
115k
  return 0;
40
264k
}