/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 | } |