• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include "fuzz.h"
2 
3 static const GDBusCapabilityFlags flags = G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING;
4 
5 int
LLVMFuzzerTestOneInput(const unsigned char * data,size_t size)6 LLVMFuzzerTestOneInput (const unsigned char *data, size_t size)
7 {
8   gssize bytes;
9   GDBusMessage *msg = NULL;
10   guchar *blob = NULL;
11   gsize msg_size;
12 
13   fuzz_set_logging_func ();
14 
15   bytes = g_dbus_message_bytes_needed ((guchar*) data, size, NULL);
16   if (bytes <= 0)
17     return 0;
18 
19   msg = g_dbus_message_new_from_blob ((guchar*) data, size, flags, NULL);
20   if (msg == NULL)
21     return 0;
22 
23   blob = g_dbus_message_to_blob (msg, &msg_size, flags, NULL);
24 
25   g_free (blob);
26   g_object_unref (msg);
27   return 0;
28 }
29