Coverage Report

Created: 2026-08-14 06:52

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