summaryrefslogtreecommitdiff
path: root/fuzzing/fuzz_variant_binary.c
blob: 995718c23aea110ef766cd214b55df2bd1c885ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "fuzz.h"

int
LLVMFuzzerTestOneInput (const unsigned char *data, size_t size)
{
  GVariant *variant = NULL, *normal_variant = NULL;

  fuzz_set_logging_func ();

  variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT, data, size, FALSE,
                                     NULL, NULL);
  if (variant == NULL)
    return 0;

  normal_variant = g_variant_take_ref (g_variant_get_normal_form (variant));
  g_variant_get_data (variant);

  g_variant_unref (normal_variant);
  g_variant_unref (variant);
  return 0;
}