summaryrefslogtreecommitdiff
path: root/fuzzing/fuzz_key.c
blob: 9f1f9187e6005c499926bc836b5ad3a86017039e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "fuzz.h"

static void
test_parse (const gchar   *data,
            size_t         size,
            GKeyFileFlags  flags)
{
  GKeyFile *key = NULL;

  key = g_key_file_new ();
  g_key_file_load_from_data (key, (const gchar*) data, size, G_KEY_FILE_NONE,
                             NULL);

  g_key_file_free (key);
}

int
LLVMFuzzerTestOneInput (const unsigned char *data, size_t size)
{
  fuzz_set_logging_func ();

  test_parse ((const gchar *) data, size, G_KEY_FILE_NONE);
  test_parse ((const gchar *) data, size, G_KEY_FILE_KEEP_COMMENTS);
  test_parse ((const gchar *) data, size, G_KEY_FILE_KEEP_TRANSLATIONS);

  return 0;
}