Coverage Report

Created: 2026-06-30 06:29

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/leptonica/prog/fuzzing/morph_fuzzer.cc
Line
Count
Source
1
#include "leptfuzz.h"
2
3
extern "C" int
4
1.06k
LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 
5
1.06k
    if(size<3) return 0;
6
 
7
1.06k
    leptSetStdNullHandler();
8
9
1.06k
    PIX *pixs_payload = pixReadMemSpix(data, size);
10
1.06k
    if(pixs_payload == NULL) return 0;
11
12
205
    PIX *pix, *pix1, *pix_copy1, *pix_copy2, *pix_copy3, *pix_copy4;
13
205
    BOX *box1;
14
205
    SEL *sel;
15
16
205
    pix = pixRead("../feyn-fract.tif");
17
205
    box1 = boxCreate(507, 65, 60, 36);
18
205
    pix1 = pixClipRectangle(pix, box1, NULL);
19
205
    sel = selCreateFromPix(pix1, 6, 6, "plus_sign");
20
205
    pix_copy1 = pixCopy(NULL, pixs_payload);
21
205
    pixCloseGeneralized(pix_copy1, pix, sel);
22
205
    boxDestroy(&box1);
23
205
    pixDestroy(&pix_copy1);
24
205
    pixDestroy(&pix1);
25
26
205
    pix_copy2 = pixCopy(NULL, pixs_payload);
27
205
    pixCloseSafe(pix_copy2, pix, sel);
28
205
    pixDestroy(&pix_copy2);
29
30
205
    pix_copy3 = pixCopy(NULL, pixs_payload);
31
205
    pixOpenGeneralized(pix_copy3, pix, sel);
32
205
    pixDestroy(&pix_copy3);
33
205
    pixDestroy(&pix);
34
205
    selDestroy(&sel);
35
36
1.23k
    for (l_int32 i = 0; i < 5; i++) {
37
1.02k
        if ((sel = selCreate (i, i, "sel_5dp")) == NULL)
38
205
            continue;
39
820
        char *selname = selGetName(sel);
40
820
        pix_copy4 = pixCopy(NULL, pixs_payload);
41
820
        pixMorphDwa_1(pix_copy4, pix_copy4, i, selname);
42
820
        pixDestroy(&pix_copy4);
43
820
        selDestroy(&sel);
44
820
    }
45
46
205
    pixDestroy(&pixs_payload);
47
205
    return 0;
48
1.06k
}