Coverage Report

Created: 2024-06-18 06:05

/src/leptonica/prog/fuzzing/blend_fuzzer.cc
Line
Count
Source
1
#include "leptfuzz.h"
2
3
extern "C" int
4
1.45k
LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 
5
1.45k
    if(size<3) return 0;
6
7
1.45k
    leptSetStdNullHandler();
8
9
1.45k
    PIX *pixs_payload = pixReadMemSpix(data, size);
10
1.45k
    if(pixs_payload == NULL) return 0;
11
12
784
    PIX *pix1, *pix2, *return_pix, *pix_copy;
13
14
8.62k
    for(int i=0; i<10; i++) {
15
7.84k
        pix1 = pixRead("../test8.jpg");
16
7.84k
        pix_copy = pixCopy(NULL, pixs_payload);
17
7.84k
        return_pix = pixBlend(pix_copy, pix1, i, i, i);
18
7.84k
        pixDestroy(&pix_copy);
19
7.84k
        pixDestroy(&pix1);
20
7.84k
        pixDestroy(&return_pix);
21
                        
22
7.84k
        pix_copy = pixCopy(NULL, pixs_payload);
23
7.84k
        return_pix = pixBlend(pix_copy, pix_copy, i, i, i);
24
7.84k
        pixDestroy(&pix_copy);
25
7.84k
        pixDestroy(&return_pix);
26
7.84k
    }
27
28
784
    pix_copy = pixCopy(NULL, pixs_payload);
29
784
    return_pix = pixAddAlphaToBlend(pix_copy, 1.2, 1);
30
784
    pixDestroy(&pix_copy);
31
784
    pixDestroy(&return_pix);
32
33
784
    pix1 = pixRead("../test8.jpg");
34
784
    BOX *box1 = boxCreate(150, 130, 1500, 355);
35
784
    pix_copy = pixCopy(NULL, pixs_payload);
36
784
    pixBlendBackgroundToColor(pix_copy, pix1, box1, 123, 1.0, 5, 12);
37
784
    pixDestroy(&pix1);
38
784
    boxDestroy(&box1);
39
784
    pixDestroy(&pix_copy);
40
41
784
    pix1 = pixRead("../test8.jpg");
42
784
    pix_copy = pixCopy(NULL, pixs_payload);
43
784
    pixBlendCmap(pix_copy, pix1, 2, 3, 4);
44
784
    pixDestroy(&pix1);
45
784
    pixDestroy(&pix_copy);
46
47
784
    pix1 = pixRead("../test8.jpg");
48
784
    pix_copy = pixCopy(NULL, pixs_payload);
49
784
    pixBlendColorByChannel(pix_copy, pix_copy, pix1, 200, 200, 0.7, 0.8, 0.9, 1, 5);
50
784
    pixDestroy(&pix1);
51
784
    pixDestroy(&pix_copy);
52
53
784
    pix1 = pixRead("../test8.jpg");
54
784
    pix_copy = pixCopy(NULL, pixs_payload);
55
784
    pixBlendGrayAdapt(pix_copy, pix_copy, pix1, 2, 3, 0.8, 1);
56
784
    pixDestroy(&pix1);
57
784
    pixDestroy(&pix_copy);
58
59
784
    pix1 = pixRead("../test8.jpg");
60
784
    pix_copy = pixCopy(NULL, pixs_payload);
61
784
    pixBlendGrayInverse(pix_copy, pix_copy, pix1, 1, 2, 0.7);
62
784
    pixDestroy(&pix1);
63
784
    pixDestroy(&pix_copy);
64
65
784
    pix1 = pixRead("../test8.jpg");
66
784
    pix_copy = pixCopy(NULL, pixs_payload);
67
784
    pixBlendHardLight(pix_copy, pix_copy, pix1, 1, 2, 0.8);
68
784
    pixDestroy(&pix1);
69
784
    pixDestroy(&pix_copy);
70
71
784
    pix1 = pixRead("../test8.jpg");
72
784
    pix_copy = pixCopy(NULL, pixs_payload);
73
784
    return_pix = pixFadeWithGray(pix_copy, pix1, 1.0, L_BLEND_TO_WHITE);
74
784
    pixDestroy(&pix1);
75
784
    pixDestroy(&pix_copy);
76
784
    pixDestroy(&return_pix);
77
78
784
    pix_copy = pixCopy(NULL, pixs_payload);
79
784
    pixLinearEdgeFade(pix_copy, L_FROM_LEFT, L_BLEND_TO_WHITE, 1.0, 0.8);
80
784
    pixDestroy(&pix_copy);
81
82
784
    pix_copy = pixCopy(NULL, pixs_payload);
83
784
    pixMultiplyByColor(pix_copy, pix_copy, NULL, 2);
84
784
    pixDestroy(&pix_copy);
85
86
784
    pix_copy = pixCopy(NULL, pixs_payload);
87
784
    return_pix = pixSetAlphaOverWhite(pix_copy);
88
784
    pixDestroy(&pix_copy);
89
784
    pixDestroy(&return_pix);
90
91
784
    pixDestroy(&pixs_payload);
92
784
    return 0;
93
1.45k
}