Coverage Report

Created: 2025-11-24 06:06

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/jpegoptim/fuzz/fuzz_compression.c
Line
Count
Source
1
#include <stdint.h>
2
#include "fuzz_manager.h"
3
#include "jpegoptim.h"
4
5
int LLVMFuzzerTestOneInput(const uint8_t *data, const size_t size)
6
1.51k
{
7
1.51k
  int rc = -1;
8
1.51k
  struct stat file_stat;
9
10
1.51k
  fuzz_manager_init();
11
12
1.51k
  if (0 != lstat(fuzz_manager.fuzz_file_name, &file_stat)) {
13
    // Getting file stat failed
14
0
    goto end;
15
0
  }
16
17
  // Write data to fuzz file
18
1.51k
  FILE *fuzz_file = fopen(fuzz_manager.fuzz_file_name, "wb+");
19
20
1.51k
  if (!fuzz_file) {
21
0
    goto end;
22
0
  }
23
24
1.51k
  if (size != fwrite(data, sizeof(uint8_t), size, fuzz_file)) {
25
0
    goto end;
26
0
  }
27
1.51k
  fclose(fuzz_file);
28
29
1.51k
  optimize(
30
1.51k
    fuzz_manager.log_fh,
31
1.51k
    fuzz_manager.fuzz_file_name,
32
1.51k
    fuzz_manager.new_fuzz_file_name,
33
1.51k
    fuzz_manager.tmp_dir,
34
1.51k
    &file_stat,
35
1.51k
    &fuzz_manager.rate,
36
1.51k
    &fuzz_manager.saved
37
1.51k
  );
38
39
1.51k
  rc = 0;
40
41
1.51k
  end:
42
1.51k
  return rc;
43
1.51k
}