Coverage Report

Created: 2026-03-31 06:35

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/leptonica/prog/fuzzing/compare_fuzzer.cc
Line
Count
Source
1
#include "leptfuzz.h"
2
3
extern "C" int
4
LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
5
1.52k
{
6
1.52k
    if(size<3) return 0;
7
8
1.52k
    leptSetStdNullHandler();
9
10
1.52k
    l_float32 fract;
11
1.52k
    l_int32 psame, comptype;
12
1.52k
    PIX *pixs1, *pixs2, *pixs3, *pixs4, *pixs5, *pixs6, *pixs7, *pixs8;
13
1.52k
    PIX *pixd1, *pixd2;
14
15
1.52k
    pixs1 = pixReadMemSpix(data, size);
16
1.52k
    if(pixs1==NULL) return 0;
17
18
772
    pixs2 = pixCopy(NULL, pixs1);
19
772
    if(pixs2==NULL) {
20
0
        pixDestroy(&pixs1);
21
0
        return 0;
22
0
    }
23
24
772
    pixs3 = pixConvertTo8(pixs1, 0);
25
772
    pixs4 = pixConvertTo8(pixs2, 0);
26
27
772
    pixGetPerceptualDiff(pixs1, pixs2, 1, 3, 20, &fract, &pixs5, &pixs6);
28
772
    pixGetPerceptualDiff(pixs3, pixs4, 1, 3, 20, &fract, &pixs7, &pixs8);
29
30
772
    pixEqualWithAlpha(pixs1, pixs2, 1, &psame);
31
772
    pixEqualWithAlpha(pixs3, pixs4, 1, &psame);
32
33
772
    pixd1 = NULL;
34
772
    pixCompareBinary(pixs1, pixs2, L_COMPARE_XOR, &fract, &pixd1);
35
772
    pixDestroy(&pixd1);
36
772
    pixd2 = NULL;
37
772
    pixCompareBinary(pixs1, pixs2, L_COMPARE_SUBTRACT, &fract, &pixd2);
38
772
    pixDestroy(&pixd2);
39
40
772
    pixDestroy(&pixs1);
41
772
    pixDestroy(&pixs2);
42
772
    pixDestroy(&pixs3);
43
772
    pixDestroy(&pixs4);
44
772
    pixDestroy(&pixs5);
45
772
    pixDestroy(&pixs6);
46
772
    pixDestroy(&pixs7);
47
772
    pixDestroy(&pixs8);
48
772
    return 0;
49
772
}