Coverage Report

Created: 2025-09-27 06:38

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