Coverage Report

Created: 2026-02-14 06:10

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/glib/fuzzing/fuzz_key.c
Line
Count
Source
1
/*
2
 * Copyright 2018 pdknsk
3
 * Copyright 2020 Endless OS Foundation, LLC
4
 *
5
 * SPDX-License-Identifier: LGPL-2.1-or-later
6
 *
7
 * This library is free software; you can redistribute it and/or
8
 * modify it under the terms of the GNU Lesser General Public
9
 * License as published by the Free Software Foundation; either
10
 * version 2.1 of the License, or (at your option) any later version.
11
 *
12
 * This library is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15
 * Lesser General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU Lesser General Public
18
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
19
 */
20
21
#include "fuzz.h"
22
23
static void
24
test_parse (const gchar   *data,
25
            size_t         size,
26
            GKeyFileFlags  flags)
27
8.24k
{
28
8.24k
  GKeyFile *key = NULL;
29
30
8.24k
  key = g_key_file_new ();
31
8.24k
  g_key_file_load_from_data (key, (const gchar*) data, size, G_KEY_FILE_NONE,
32
8.24k
                             NULL);
33
34
8.24k
  g_key_file_free (key);
35
8.24k
}
36
37
int
38
LLVMFuzzerTestOneInput (const unsigned char *data, size_t size)
39
18.5k
{
40
18.5k
  fuzz_set_logging_func ();
41
42
18.5k
  test_parse ((const gchar *) data, size, G_KEY_FILE_NONE);
43
18.5k
  test_parse ((const gchar *) data, size, G_KEY_FILE_KEEP_COMMENTS);
44
18.5k
  test_parse ((const gchar *) data, size, G_KEY_FILE_KEEP_TRANSLATIONS);
45
46
18.5k
  return 0;
47
18.5k
}