Coverage Report

Created: 2026-11-10 07:41

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/poppler/qt6/tests/fuzzing/qt_label_fuzzer.cc
Line
Count
Source
1
#include <cstdint>
2
#include <poppler-qt6.h>
3
#include <QtGui/QImage>
4
#include <GlobalParams.h>
5
6
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
7
49.7k
{
8
49.7k
    GlobalParamsIniter globalParamsIniter(nullptr);
9
49.7k
    globalParams->setErrQuiet(true);
10
11
49.7k
    QByteArray in_data = QByteArray::fromRawData((const char *)data, size);
12
49.7k
    std::unique_ptr<Poppler::Document> doc = Poppler::Document::loadFromData(in_data);
13
49.7k
    if (!doc || doc->isLocked()) {
14
9.50k
        return 0;
15
9.50k
    }
16
17
380k
    for (int i = 0; i < doc->numPages(); i++) {
18
339k
        QString label = QString::fromUtf8(in_data);
19
339k
        std::unique_ptr<Poppler::Page> p = doc->page(label);
20
339k
        if (!p) {
21
236k
            continue;
22
236k
        }
23
103k
        QImage image = p->renderToImage(72.0, 72.0, -1, -1, -1, -1, Poppler::Page::Rotate0);
24
103k
    }
25
26
40.2k
    return 0;
27
49.7k
}