Coverage Report

Created: 2025-12-31 07:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/leptonica/prog/fuzzing/pix3_fuzzer.cc
Line
Count
Source
1
#include "leptfuzz.h"
2
3
extern "C" int
4
1.23k
LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 
5
1.23k
  if(size<3) return 0;
6
 
7
1.23k
  leptSetStdNullHandler();
8
9
1.23k
  PIX *pixs_payload = pixReadMemSpix(data, size);
10
1.23k
  if(pixs_payload == NULL) return 0;
11
12
529
  BOX *box1;
13
529
  PIX *pix_pointer_payload, *return_pix, *pix2;
14
529
  NUMA *return_numa;
15
529
  l_float32 l_f;
16
529
  l_int32 l_i;
17
529
  l_uint32 l_ui;
18
529
  BOXA *boxa1;
19
20
529
  box1 = boxCreate(150, 130, 1500, 355);
21
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
22
529
  return_numa = pixAbsDiffByColumn(pix_pointer_payload, box1);
23
529
  pixDestroy(&pix_pointer_payload);
24
529
  boxDestroy(&box1);
25
529
        numaDestroy(&return_numa);
26
27
529
  box1 = boxCreate(150, 130, 1500, 355);
28
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
29
529
  return_numa = pixAbsDiffByRow(pix_pointer_payload, box1);
30
529
  pixDestroy(&pix_pointer_payload);
31
529
  boxDestroy(&box1);
32
529
        numaDestroy(&return_numa);
33
34
529
  box1 = boxCreate(150, 130, 1500, 355);
35
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
36
529
  pixAbsDiffInRect(pix_pointer_payload, box1, L_HORIZONTAL_LINE, &l_f);
37
529
  pixDestroy(&pix_pointer_payload);
38
529
  boxDestroy(&box1);
39
40
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
41
529
  pixAbsDiffOnLine(pix_pointer_payload, 2, 2, 3, 3, &l_f);
42
529
  pixDestroy(&pix_pointer_payload);
43
44
529
  box1 = boxCreate(150, 130, 1500, 355);
45
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
46
529
  return_numa = pixAverageByColumn(pix_pointer_payload, box1,
47
529
                                         L_BLACK_IS_MAX);
48
529
  boxDestroy(&box1);
49
529
  pixDestroy(&pix_pointer_payload);
50
529
  numaDestroy(&return_numa);
51
  
52
529
  box1 = boxCreate(150, 130, 1500, 355);
53
529
  return_numa = pixAverageByRow(pix_pointer_payload, box1,
54
529
                                      L_WHITE_IS_MAX);
55
529
  boxDestroy(&box1);
56
529
  pixDestroy(&pix_pointer_payload);
57
529
  numaDestroy(&return_numa);
58
59
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
60
529
  pixAverageInRect(pix_pointer_payload, NULL, NULL, 0, 255, 1, &l_f);
61
529
  pixDestroy(&pix_pointer_payload);
62
63
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
64
529
  pixAverageInRectRGB(pix_pointer_payload, NULL, NULL, 10, &l_ui);
65
529
  pixDestroy(&pix_pointer_payload);
66
67
529
  boxa1 = boxaCreate(0);
68
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
69
529
  return_pix = pixCopyWithBoxa(pix_pointer_payload, boxa1, L_SET_WHITE);
70
529
  pixDestroy(&pix_pointer_payload);
71
529
  boxaDestroy(&boxa1);
72
529
  pixDestroy(&return_pix);
73
  
74
3.17k
  for (int i = 0; i < 5; i++) {
75
2.64k
            box1 = boxCreate(150, 130, 1500, 355);
76
2.64k
      pix_pointer_payload = pixCopy(NULL, pixs_payload);
77
2.64k
      pixCountArbInRect(pix_pointer_payload, box1, L_SET_WHITE, 2, &l_i);
78
2.64k
      pixDestroy(&pix_pointer_payload);
79
2.64k
      boxDestroy(&box1);
80
2.64k
  }
81
82
529
  box1 = boxCreate(150, 130, 1500, 355);
83
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
84
529
  return_numa = pixCountByRow(pix_pointer_payload, box1);
85
529
  pixDestroy(&pix_pointer_payload);
86
529
  boxDestroy(&box1);
87
529
  numaDestroy(&return_numa);
88
  
89
529
  box1 = boxCreate(150, 130, 1500, 355);
90
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
91
529
  pixCountPixelsInRect(pix_pointer_payload, box1, &l_i, NULL);
92
529
  boxDestroy(&box1);
93
529
  pixDestroy(&pix_pointer_payload);
94
95
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
96
529
  return_pix = pixMakeArbMaskFromRGB(pix_pointer_payload,
97
529
                                           -0.5, -0.5, 1.0, 20);
98
529
  pixDestroy(&pix_pointer_payload);
99
529
  pixDestroy(&return_pix);
100
101
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
102
3.17k
  for (int i = 0; i < 5; i++) {
103
2.64k
            return_pix = pixMakeMaskFromVal(pix_pointer_payload, i);
104
2.64k
      pixDestroy(&pix_pointer_payload);
105
2.64k
      pixDestroy(&return_pix);
106
2.64k
        }
107
    
108
529
  pix2 = pixRead("../test8.jpg");
109
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
110
529
  pixPaintSelfThroughMask(pix_pointer_payload, pix2, 0, 0, L_HORIZ,
111
529
                                30, 50, 5, 10);
112
529
  pixDestroy(&pix2);
113
529
  pixDestroy(&pix_pointer_payload);
114
  
115
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
116
529
  return_pix = pixSetUnderTransparency(pix_pointer_payload, 0, 0);
117
529
  pixDestroy(&pix_pointer_payload);
118
529
  pixDestroy(&return_pix);
119
  
120
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
121
529
  return_numa = pixVarianceByColumn(pix2, NULL);
122
529
  pixDestroy(&pix_pointer_payload);
123
529
  numaDestroy(&return_numa);
124
  
125
529
  pix_pointer_payload = pixCopy(NULL, pixs_payload);
126
529
  return_numa = pixVarianceByRow(pix_pointer_payload, NULL);
127
529
  pixDestroy(&pix_pointer_payload);
128
529
  numaDestroy(&return_numa);
129
130
529
  box1 = boxCreate(150, 130, 1500, 355);
131
529
  pixVarianceInRect(pix_pointer_payload, box1, &l_f);
132
529
  boxDestroy(&box1);
133
529
  pixDestroy(&pix_pointer_payload);
134
135
529
  pixDestroy(&pixs_payload);
136
529
  return 0;
137
1.23k
}