/src/kconfig/autotests/ossfuzz/kconfig_fuzzer.cc
Line | Count | Source |
1 | | /* |
2 | | * SPDX-FileCopyrightText: 2026 Nicolas Fella <nicolas.fella@gmx.de> |
3 | | * SPDX-License-Identifier: LGPL-2.0-or-later |
4 | | */ |
5 | | |
6 | | #include <QCoreApplication> |
7 | | #include <QBuffer> |
8 | | |
9 | | #include <kconfig.h> |
10 | | #include <kconfiggroup.h> |
11 | | |
12 | 4.72k | extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { |
13 | | |
14 | 4.72k | int argc = 0; |
15 | 4.72k | QCoreApplication a(argc, nullptr); |
16 | | |
17 | 4.72k | QByteArray input((const char *)data, size); |
18 | | |
19 | 4.72k | auto buffer = std::make_shared<QBuffer>(&input); |
20 | | |
21 | 4.72k | buffer->open(QIODevice::ReadOnly); |
22 | | |
23 | 4.72k | KConfig config(buffer); |
24 | | |
25 | 4.72k | const auto groups = config.groupList(); |
26 | 11.5k | for (const auto &groupName : groups) { |
27 | 11.5k | KConfigGroup group = config.group(groupName); |
28 | 11.5k | group.entryMap(); |
29 | 11.5k | } |
30 | | |
31 | 4.72k | return 0; |
32 | 4.72k | } |