Coverage Report

Created: 2025-09-27 06:38

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