/src/leptonica/prog/fuzzing/pageseg_fuzzer.cc
Line | Count | Source |
1 | | #include "leptfuzz.h" |
2 | | |
3 | | extern "C" int |
4 | | LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) |
5 | 906 | { |
6 | 906 | leptSetStdNullHandler(); |
7 | | |
8 | 906 | l_int32 score; |
9 | 906 | PIX *pixs; |
10 | 906 | PIX *pix1, *pix2, *pix3, *pix4; |
11 | 906 | PIXA *pixa1, *pixa2; |
12 | 906 | PIXAC *pixac; |
13 | 906 | BOX *box; |
14 | 906 | BOXA *boxa; |
15 | | |
16 | 906 | pixs = pixReadMemSpix(data, size); |
17 | 906 | if(pixs==NULL) return 0; |
18 | | |
19 | 84 | pixa1 = pixaCreate(0); |
20 | 84 | pixDecideIfTable(pixs, NULL, L_PORTRAIT_MODE, &score, pixa1); |
21 | 84 | pixaDestroy(&pixa1); |
22 | | |
23 | 84 | pixa1 = pixaCreate(0); |
24 | 84 | pixGetRegionsBinary(pixs, &pix1, &pix2, &pix3, pixa1); |
25 | 84 | pixDestroy(&pix1); |
26 | 84 | pixDestroy(&pix2); |
27 | 84 | pixDestroy(&pix3); |
28 | 84 | pixaDestroy(&pixa1); |
29 | | |
30 | 84 | pixac = pixacompReadMem(data, size); |
31 | 84 | box = pixFindPageForeground(pixs, 170, 70, 30, 0, pixac); |
32 | 84 | boxDestroy(&box); |
33 | 84 | pixacompDestroy(&pixac); |
34 | | |
35 | 84 | pixSplitIntoCharacters(pixs, 4, 4, &boxa, &pixa2, &pix4); |
36 | 84 | boxaDestroy(&boxa); |
37 | 84 | pixaDestroy(&pixa2); |
38 | 84 | pixDestroy(&pix4); |
39 | | |
40 | 84 | pixDestroy(&pixs); |
41 | 84 | return 0; |
42 | 906 | } |