Coverage Report

Created: 2026-05-30 06:15

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
4.98k
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
7
4.98k
  std::string jpeg_data(reinterpret_cast<const char*>(data), size);
8
9
  // Ignore large images, to prevent timeouts.
10
4.98k
  guetzli::JPEGData jpg_header;
11
4.98k
  if (!guetzli::ReadJpeg(data, size, guetzli::JPEG_READ_HEADER, &jpg_header)) {
12
741
    return 0;
13
741
  }
14
4.24k
  static constexpr int kMaxPixels = 10000;
15
4.24k
  if (static_cast<int64_t>(jpg_header.width) * jpg_header.height > kMaxPixels) {
16
19
    return 0;
17
19
  }
18
19
  // TODO(robryk): Use nondefault parameters.
20
4.22k
  guetzli::Params params;
21
4.22k
  std::string jpeg_out;
22
4.22k
  (void)guetzli::Process(params, nullptr, jpeg_data, &jpeg_out);
23
  // TODO(robryk): Verify output distance if Process() succeeded.
24
4.22k
  return 0;
25
4.24k
}
26
27
28
29