Coverage Report

Created: 2024-06-18 06:09

/src/leptonica/prog/fuzzing/boxfunc3_fuzzer.cc
Line
Count
Source (jump to first uncovered line)
1
#include "leptfuzz.h"
2
3
extern "C" int
4
25
LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 
5
25
  if(size<3) return 0;
6
 
7
23
  leptSetStdNullHandler();
8
9
23
  BOXA *boxa_payload, *boxa1;
10
23
  boxa_payload = boxaReadMem(data, size);
11
23
  if(boxa_payload == NULL) return 0;
12
13
0
  PIX          *pixc, *pixd, *pix, *pixs;
14
0
  PIX          *pix1, *pix2, *pix3, *pix4, *pix5, *pix6, *pix7;
15
0
  BOXAA        *baa;
16
0
  static const l_int32  WIDTH = 800;
17
18
  //boxaaDisplay()
19
0
  pix1 = pixRead("../test8.jpg");
20
0
  if(pix1!=NULL) {
21
0
    baa = boxaSort2d(boxa_payload, NULL, 6, 6, 5);
22
0
    pix2 = boxaaDisplay(pix1, baa, 3, 1, 0xff000000,
23
0
                              0x00ff0000, 0, 0);
24
0
      boxaaDestroy(&baa);
25
0
    pixDestroy(&pix1);
26
0
    pixDestroy(&pix2);
27
0
  }
28
  
29
  //pixBlendBoxaRandom();
30
0
  pixc = pixRead("../test8.jpg");
31
0
  if(pixc!=NULL) {
32
0
    pixd = pixBlendBoxaRandom(pixc, boxa_payload, 0.4);
33
0
    pixDestroy(&pixc);
34
0
    pixDestroy(&pixd);
35
0
  }
36
37
  //pixDrawBoxa();
38
0
  pixc = pixRead("../test8.jpg");
39
0
  if(pixc!=NULL) {
40
0
    pixd = pixConvertTo1(pixc, 128);
41
0
    pix1 = pixConvertTo8(pixd, FALSE);
42
0
    pix2 = pixDrawBoxa(pix1, boxa_payload, 7, 0x40a0c000);
43
0
    pixDestroy(&pix1);
44
0
    pixDestroy(&pix2);
45
0
    pixDestroy(&pixc);
46
0
    pixDestroy(&pixd);
47
0
  }
48
49
  //pixMaskConnComp();
50
0
  pix1 = pixRead("../test8.jpg");
51
0
  if(pix1!=NULL) {
52
0
    boxa1 = boxaReadMem(data, size);
53
0
    if(boxa1==NULL) {
54
0
      pixDestroy(&pix1);
55
0
    }else{
56
0
      pix2 = pixScaleToSize(pix1, WIDTH, 0);
57
0
      pix3 = pixConvertTo1(pix2, 100);
58
0
      pix4 = pixExpandBinaryPower2(pix3, 2);
59
0
      pix5 = pixGenerateHalftoneMask(pix4, NULL, NULL, NULL);
60
0
      pix6 = pixMorphSequence(pix5, "c20.1 + c1.20", 0);
61
0
      pix7 = pixMaskConnComp(pix6, 8, &boxa1);
62
0
      boxaDestroy(&boxa1);
63
0
      pixDestroy(&pix1);
64
0
      pixDestroy(&pix2);
65
0
      pixDestroy(&pix3);
66
0
      pixDestroy(&pix4);
67
0
      pixDestroy(&pix5);
68
0
      pixDestroy(&pix6);
69
0
      pixDestroy(&pix7);
70
0
    }
71
0
  }
72
73
  //pixPaintBoxa();
74
0
  pix = pixRead("../test8.jpg");
75
0
  if(pix!=NULL) {
76
0
    boxa1 = boxaReadMem(data, size);
77
0
    if(boxa1==NULL) {
78
0
      pixDestroy(&pix);
79
0
    }else{
80
0
      pix1 = pixPaintBoxa(pix, boxa1, 0x60e0a000);
81
0
      pixDestroy(&pix);
82
0
      pixDestroy(&pix1);
83
0
      boxaDestroy(&boxa1);
84
0
    };
85
    
86
0
  }
87
88
89
  //pixPaintBoxaRandom();
90
0
  pix = pixRead("../test8.jpg");
91
0
  if(pix!=NULL) {
92
0
    boxa1 = boxaReadMem(data, size);
93
0
    if(boxa1==NULL) {
94
0
      pixDestroy(&pix);
95
0
    }else{
96
0
      pixs = pixConvertTo1(pix, 128);
97
0
      pix1 = pixPaintBoxaRandom(pixs, boxa1);     
98
0
      pixDestroy(&pix);
99
0
      pixDestroy(&pixs);
100
0
      pixDestroy(&pix1);
101
0
      boxaDestroy(&boxa1);
102
0
    }
103
0
  }
104
105
0
  boxaDestroy(&boxa_payload);
106
0
  return 0;
107
23
}