Coverage Report

Created: 2026-11-12 06:47

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.33k
{
6
1.33k
    if(size<3) return 0;
7
8
1.33k
    leptSetStdNullHandler();
9
10
1.33k
    l_float32 fract;
11
1.33k
    l_int32 psame, comptype;
12
1.33k
    PIX *pixs1, *pixs2, *pixs3, *pixs4, *pixs5, *pixs6, *pixs7, *pixs8;
13
1.33k
    PIX *pixd1, *pixd2;
14
15
1.33k
    pixs1 = pixReadMemSpix(data, size);
16
1.33k
    if(pixs1==NULL) return 0;
17
18
686
    pixs2 = pixCopy(NULL, pixs1);
19
686
    if(pixs2==NULL) {
20
0
        pixDestroy(&pixs1);
21
0
        return 0;
22
0
    }
23
24
686
    pixs3 = pixConvertTo8(pixs1, 0);
25
686
    pixs4 = pixConvertTo8(pixs2, 0);
26
27
686
    pixGetPerceptualDiff(pixs1, pixs2, 1, 3, 20, &fract, &pixs5, &pixs6);
28
686
    pixGetPerceptualDiff(pixs3, pixs4, 1, 3, 20, &fract, &pixs7, &pixs8);
29
30
686
    pixEqualWithAlpha(pixs1, pixs2, 1, &psame);
31
686
    pixEqualWithAlpha(pixs3, pixs4, 1, &psame);
32
33
686
    pixd1 = NULL;
34
686
    pixCompareBinary(pixs1, pixs2, L_COMPARE_XOR, &fract, &pixd1);
35
686
    pixDestroy(&pixd1);
36
686
    pixd2 = NULL;
37
686
    pixCompareBinary(pixs1, pixs2, L_COMPARE_SUBTRACT, &fract, &pixd2);
38
686
    pixDestroy(&pixd2);
39
40
686
    pixDestroy(&pixs1);
41
686
    pixDestroy(&pixs2);
42
686
    pixDestroy(&pixs3);
43
686
    pixDestroy(&pixs4);
44
686
    pixDestroy(&pixs5);
45
686
    pixDestroy(&pixs6);
46
686
    pixDestroy(&pixs7);
47
686
    pixDestroy(&pixs8);
48
686
    return 0;
49
686
}