Coverage Report

Created: 2026-01-13 06:40

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
955
LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 
5
955
    if(size<3) return 0;
6
 
7
953
    leptSetStdNullHandler();
8
9
953
    PIX *pixs_payload = pixReadMemSpix(data, size);
10
953
    if(pixs_payload == NULL) return 0;
11
12
193
    PIX *pix, *pix1, *pix_copy1, *pix_copy2, *pix_copy3, *pix_copy4;
13
193
    BOX *box1;
14
193
    SEL *sel;
15
16
193
    pix = pixRead("../feyn-fract.tif");
17
193
    box1 = boxCreate(507, 65, 60, 36);
18
193
    pix1 = pixClipRectangle(pix, box1, NULL);
19
193
    sel = selCreateFromPix(pix1, 6, 6, "plus_sign");
20
193
    pix_copy1 = pixCopy(NULL, pixs_payload);
21
193
    pixCloseGeneralized(pix_copy1, pix, sel);
22
193
    boxDestroy(&box1);
23
193
    pixDestroy(&pix_copy1);
24
193
    pixDestroy(&pix1);
25
26
193
    pix_copy2 = pixCopy(NULL, pixs_payload);
27
193
    pixCloseSafe(pix_copy2, pix, sel);
28
193
    pixDestroy(&pix_copy2);
29
30
193
    pix_copy3 = pixCopy(NULL, pixs_payload);
31
193
    pixOpenGeneralized(pix_copy3, pix, sel);
32
193
    pixDestroy(&pix_copy3);
33
193
    pixDestroy(&pix);
34
193
    selDestroy(&sel);
35
36
1.15k
    for (l_int32 i = 0; i < 5; i++) {
37
965
        if ((sel = selCreate (i, i, "sel_5dp")) == NULL)
38
193
            continue;
39
772
        char *selname = selGetName(sel);
40
772
        pix_copy4 = pixCopy(NULL, pixs_payload);
41
772
        pixMorphDwa_1(pix_copy4, pix_copy4, i, selname);
42
772
        pixDestroy(&pix_copy4);
43
772
        selDestroy(&sel);
44
772
    }
45
46
193
    pixDestroy(&pixs_payload);
47
193
    return 0;
48
953
}