Coverage Report

Created: 2025-12-14 06:21

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/guetzli/fuzz_target.cc
Line
Count
Source
1
#include <stdint.h>
2
#include "guetzli/jpeg_data.h"
3
#include "guetzli/jpeg_data_reader.h"
4
#include "guetzli/processor.h"
5
6
5.20k
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
7
5.20k
  std::string jpeg_data(reinterpret_cast<const char*>(data), size);
8
9
  // Ignore large images, to prevent timeouts.
10
5.20k
  guetzli::JPEGData jpg_header;
11
5.20k
  if (!guetzli::ReadJpeg(data, size, guetzli::JPEG_READ_HEADER, &jpg_header)) {
12
783
    return 0;
13
783
  }
14
4.42k
  static constexpr int kMaxPixels = 10000;
15
4.42k
  if (static_cast<int64_t>(jpg_header.width) * jpg_header.height > kMaxPixels) {
16
20
    return 0;
17
20
  }
18
19
  // TODO(robryk): Use nondefault parameters.
20
4.40k
  guetzli::Params params;
21
4.40k
  std::string jpeg_out;
22
4.40k
  (void)guetzli::Process(params, nullptr, jpeg_data, &jpeg_out);
23
  // TODO(robryk): Verify output distance if Process() succeeded.
24
4.40k
  return 0;
25
4.42k
}
26
27
28
29